C++ Primer에 주어진 foll 코드가 올바르지 않습니까?ostream_iterator에 적용하면 후치 연산자가 lvalue를 반환합니까?
ostream_iterator<int> out_iter(cout, " ");
for (auto e : vec)
*out_iter++ = e; // the assignment writes this element to cout
cout << endl;
후위 연산자가 좌변 역할을 할 수있는 방법을 다음 이전 값이 아닌 참조를 반환? 첫째
*(out_iter++) = e;
그래서 후위 증가 일이 발생하고 역 참조가 수행됩니다
*out_iter++ = e;
이 같다 : 나는
'out_iter ++'는 좌변 값이 아닙니다. iterator rvalue입니다. '* out_iter ++'는 lvalue입니다. –
운영자 우선 순위를 잘못 읽고 있습니다. '* out_iter ++'는'(* out_ptr) ++'이 아니라'* (out_iter ++) '를 의미합니다. –
@ n.m. 확실합니까? 내가 볼 수있는 한,'out_iter ++ '도 역시 lvalue입니다. –