の有効活用に関する記事を読んでいましたauto_ptr
。そこでは、次のコードが正しいコードとして提案されました。
// Example 10(c): Correct (finally!)
//
auto_ptr<String> f()
{
auto_ptr<String> result = new String;
*result = "some value";
cout << "some output";
return result; // rely on transfer of ownership;
// this can't throw
}
しかし、私が知る限り、の代入演算子は、偶発的な誤用を避けるために、別のものを-としてauto_ptr
のみ受け入れます。それで、次の行は記事のタイプミスですか、それとも実際に機能すると思われますか?auto_ptr
rhs
auto_ptr<String> result = new String;