- C++相談室 part121 [無断転載禁止]©2ch.net
554 :デフォルトの名無しさん[sage]:2015/12/29(火) 20:49:36.07 ID:mJLVAknr - String &validate(String &s) {
return s; } String s = String(""); String str = validate(s); &s == &str; // true 上記のコードを右辺値に対しても実現したいのですが、C++ではそもそも可能でしょうか。 以下の方法を試しましたが、どうしてもムーブコンストラクタが必要になります 左辺のインスタンスをコピー無しでそのまま右辺に渡したいのです String &&validate(String &&s) { return std::move(s); } String str = validate(String("")); // コピーコンストラクタもデストラクタも呼ばれないようにしたい
|