全然関係ないけど

string foo() {
 string temp;
 return temp;
}

のような内部変数を値渡しで戻す場合って
コンパイラの最適化でコピーをはしょっていいことになってたよね?