이런거 보면 C++11 헛 배운듯 ㅜㅜ
대충보니 객체를 rvalue화 시켜서 명시적으로 복사를 막는다는건 알겠는데, 구체적으로 언제 사용해야 할지 모르겠다..
학습 돌리는 동안 C++이나 공부해야겠네..
공부는 즐거운것~~
17개의 댓글
무분별한 사용은 차단될 수 있습니다.
이런거 보면 C++11 헛 배운듯 ㅜㅜ
대충보니 객체를 rvalue화 시켜서 명시적으로 복사를 막는다는건 알겠는데, 구체적으로 언제 사용해야 할지 모르겠다..
학습 돌리는 동안 C++이나 공부해야겠네..
공부는 즐거운것~~
nopsled
헛배우긴, 20년배워서 2년써먹는게 C++이라는데 ㅋㅋ
Curriculum
rvalue copy배우고 move배우고 오토 람다 배우면? 짜잔!!! 새로운 C++ 스탠다드가 또 버전업했습니다!!
0ㅅ0
리터럴이랑 비슷한거라고 생각하면되는대
잉텔
그러니깐.. rvalue 참조 때문에 생성자랑 대입연산자가 하나씩 더 만들어야하나 고민중
0ㅅ0
&&생성자가 기본으로 있는지는 모르겠다만 다른사람들 코딩해놓은거보면 명시적으로 만들더라
어셈을 까보는게 빠를듯?
잉텔
기본으로 있긴해..
하.. 근데 꼭 만들어하냐? 이거지..
0ㅅ0
생각해보니 따로 안만들면 넘어온 rvalue가 파라미터 lvalue로 그냥 들어가버릴수가 있겠네
0ㅅ0
헷갈려서 다시보고있으니 나도 틀린거같네 ㅋㅋ
집가면 정리해서 글써봄
너는나는너는나는너
잉텔
그거 봐도 으흠 그래.. 그럼 어찌하냐..? 이런 느낌이라.
하테나
완전한 이동 같은 문제를 해결하기 위해서 써야함
잉텔
ㅇㅇ 결국 특별한 상황이 아니면 쓸모가 없다는걸 깨달았다..
하테나
그건 아니지
대입연산시에 불필요한 복사연산을 억제할 때 아주 유용하게 사용할 수 있음
이건 특별한 상황이 아니라 언제든 일어날 수 있는 상황이니까 rvalue자체는 이해해두는게 좋음
잉텔
rvalue 참조와 포워딩 전체는 이해를 한 상태임
역시 뭔가 이해 하려면 구현해서 보는게 짱인듯..
근데 지금 만드려는 클래스가 설정 입출력 클래스인데
어차피 내부 자료들은 std::map이랑 std::vector로 되어있어서
직접 만드는 영상컨테이너가 아닌 이상 필요성을 못느끼겠음
나중에 필요가 할때가 오면 그땐 쓰는게 나을것 같다.
URA!!
코딩은 시험이 아냐. 고유명사는 앞으로도 계속 배울거야. 이건 뭐고 저건 뭐다 라고 공부하는것보다
이건 이런데 이름이 저렇다라고 공부하는게 도움될거야.
예를들어 니가 말한 rvalue, lvalue는 포인터의 주소개념만 명확히 알면 된다. 언어가 어떤 식으로 컴파일되는지도 명확히 알면
다른 언어 공부할때도 편하다.
잉텔
그냥 범용 설정 입출력 클래스 만들다가 rvalue 참조를 써야하나? 말하야 하나 고민하다가 혼란와서 그럼.. ㅠㅠ
언어 컴파일이야.. 오토마타랑 컴파일러구조 배웠으면 충분하지뭐.. ㅎㅎ
URA!!
그럼 뭐 기본적인건 다 배웠네 ㅎㅎ 컴파일러 구조는 계속 써먹을수 있음.