1

std::pair<bool, std::string>関数の戻り値の型として同等のものを使用したいと思います。下流のコードでは、 andアクセサーの代わりにokandを使用して、不要な API ルックアップを回避する方が適切に見えます。また、仮想デストラクタがないとリークする可能性があるため、継承を使用して正しく記述できないようです。Renamed std::pair membersの解決策として自分自身の構造体を避けたい- 既存の Move コンストラクターやその他の配管を再利用する。それはまったく可能ですか?msgfirstsecondstd::pair

編集:

フィードバックの後、推奨される方法は次のとおりです。

struct res {
    bool ok;
    std::string msg;
};

res fnk() { ...; return r };

文字列のコピーを回避するために、C++11 コンパイラが move コンストラクターを生成することを期待していたことを正しく理解していますか?

4

1 に答える 1