std::pair<bool, std::string>
関数の戻り値の型として同等のものを使用したいと思います。下流のコードでは、 andアクセサーの代わりにok
andを使用して、不要な API ルックアップを回避する方が適切に見えます。また、仮想デストラクタがないとリークする可能性があるため、継承を使用して正しく記述できないようです。Renamed std::pair membersの解決策として自分自身の構造体を避けたい- 既存の Move コンストラクターやその他の配管を再利用する。それはまったく可能ですか?msg
first
second
std::pair
編集:
フィードバックの後、推奨される方法は次のとおりです。
struct res {
bool ok;
std::string msg;
};
res fnk() { ...; return r };
文字列のコピーを回避するために、C++11 コンパイラが move コンストラクターを生成することを期待していたことを正しく理解していますか?