Test& operator++() {
x++;
std::cout << "전위 증감 연산자" << std::endl;
return *this;
}
Test operator++(int) {
Test temp(*this);
x++;
std::cout << "후위 증감 연산자" << std::endl;
return temp;
}
위에가 전위 증감
아래가 후위 증감인데
내 생각으로는 둘다 전위증감인거같은데..
둘다 결국에는 함수 안에서 더해지고 그걸 리턴하는건데
왜 아래가 후위?
전위증감은 이전 값을 return 해야해서 복사가 한번 일어날거다 - dc App
전위X 후위O - dc App
리턴할 때 포함 두 번이지
코렇네 - dc App
전위는 pass-by-value고 후위는 pass-by-value임
아니 전위는 pass-by-reference
순간 뭔말인가 했네 ㅋㅋㅋ
과제 OUT
과제아님돠... 저희 과에서 C계열 배우지도 않아요ㅜ
고민부터 하고 코드를 짜버릇해라. 생각없이 암기하려고 하니까 뭐하는지도 모르지.
암기한대로 코드치지 말고, 왜 전위와 후위를 그렇게 짜는지 증감할 때 어떤 절차가 일어나는지 생각부터 좀 해