[Effective Modern C++] 항목 41. 이동이 저렴하고 항상 복사되는 복사 가능 매개변수에 대해서는 값 전달을 고려하라
매개변수를 받는 방법에 대해서 우리는 왼값, 오른값, 보편 참조를 이용해서 전달하는 방법을 배웠다. 특히 왼값과 오른값 모두 구현하는 경우에는 보편 참조를 이용하여 구현하였다. 그런데 보편 참조를 이용하게 되면 우리가 원하지 않는 타입에 대해서도 인스턴스화되고, 보편 참조로 전달할 수 없는 경우에도 난감한 상황이 생기게 된다. 그런데 우리가 앞서 보았던 방법 외에도 가장 기초적인 값으로 전달하는 방법이 있다. 다음의 코드를 보자. class Widget { public: void addName(std::string newName) { names.push_back(std::move(newName)); } ... }; 위 코드는 어떠한 문제도 발생하지 않는다. 하지만 이전부터 값 전달의 성능은 좋지 않다고 ..
C++/Effective Modern C++
2020. 3. 3. 22:45
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- detach
- C++
- MOVE
- const
- std::forward
- Modern
- C++14
- Future
- 다이소
- 포인터
- Unreal
- C++11
- 보편참조
- Perfect
- Effective
- CPP
- 람다
- C
- Effective Modern C++
- 발아시기
- Override
- Overloading
- thread
- async
- Join
- 보편 참조
- forward
- auto
- std::move
- Forwarding
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함