前の質問では、単純な値による戻り関数は常にそのreturn
引数を割り当てられている変数にコピーするように見えました。
これは標準で要求されていますか、それとも関数本体内でも「割り当てられた」変数を作成することで関数を最適化できますか?
struct C { int i; double d; };
C f( int i, int d ) {
return C(i,d); // construct _and_ copy-construct?
}
int main() {
C c = f( 1, 2 );
}