기존의 C++에서는 복사생성자 및 대입연산자에서는 무조건 deep copy를 해야했다.
예륻 들어 vector<> 같은 녀석이 있었고 그게 사이즈가 크다면 모조리 다 copy부터 했다는뜻.
그러나... RValue Reference의 경우는 Shallow copy만 해도 된다!
(간단히 말해 포인터만 옮겨간다...라고 생각하믄 될듯)
궁금한건...복사생성자,대입연산자는 C++이 기본으로 만들어주는게 있는데,
RValue Reference를 사용하는 move 연산자들은... 자동으루 해주나? ㅡ.ㅡ;;
그건 잘 모르겠네 흠.
뭐 VS 2010 부터 지원된다고 하니 (gcc는 4.0 이상의...뭐 마이너 버젼이 있나본데 자세히는 잘...)
꽤 많은 유저들이 은연중에 사용할듯.
STL 만 해도 그냥 기존처럼 써도 많은 부분이 성능향상이 있으니.
예륻 들어 vector<> 같은 녀석이 있었고 그게 사이즈가 크다면 모조리 다 copy부터 했다는뜻.
그러나... RValue Reference의 경우는 Shallow copy만 해도 된다!
(간단히 말해 포인터만 옮겨간다...라고 생각하믄 될듯)
궁금한건...복사생성자,대입연산자는 C++이 기본으로 만들어주는게 있는데,
RValue Reference를 사용하는 move 연산자들은... 자동으루 해주나? ㅡ.ㅡ;;
그건 잘 모르겠네 흠.
뭐 VS 2010 부터 지원된다고 하니 (gcc는 4.0 이상의...뭐 마이너 버젼이 있나본데 자세히는 잘...)
꽤 많은 유저들이 은연중에 사용할듯.
STL 만 해도 그냥 기존처럼 써도 많은 부분이 성능향상이 있으니.