We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent df84392 commit f8c81f6Copy full SHA for f8c81f6
ITEM25.md
@@ -88,3 +88,26 @@ Fraction reduceAndCopy(T&& frac)
88
```
89
보편참조를 리턴해야 한다면 forward를 사용해야 한다.
90
91
+### 반환값 최적화의 대상이 될 수 있는 지역 객체에는 std::move, std::forward를 사용하지 말자.
92
+```c++
93
+Widget makeWidget()
94
+{
95
+ Widget w;
96
+ ~
97
98
+ return w;
99
+}
100
+
101
102
103
104
105
106
+ return std::move(w);
107
108
+```
109
+반환값 최적화가 적용되면 함수의 반환값을 위해 마련한 메모리에 w를 생성한기 때문에 이동연산도 없앨 수있다.
110
111
+#### 반환값 최적화의 요건
112
+1. 지역 객체의 형식이 함수의 반환 형식과 같아야 한다.
113
+2. 지역 객체가 바로 함수의 반환값이어야 한다.
0 commit comments