メンバー関数宣言の参照修飾子
C では、単一アンパサンド (&) と二重アンパサンド (&&) を参照修飾子として使用できます。メンバー関数宣言内。これらの修飾子は、非静的メンバー関数の暗黙的なオブジェクト パラメーターの型に影響します。
単一アンパサンド (単一参照)
単一アンパサンド (&) は、メンバー関数は、オブジェクトが左辺値参照である (つまり、既存のオブジェクトを参照している) 場合に呼び出すことができます。つまり、関数は参照によって渡されるオブジェクトを使用して呼び出されます。
次の例は、単一の参照修飾子の使用を示しています。
class wrap { public: operator obj() const & { ... } // Copy from me. };
ここでは、演算子 obj( ) 関数は、my_object.operator obj() などのオブジェクト参照で呼び出すことができます。
No との比較アンパサンド
参照修飾子が指定されていない場合、暗黙的なオブジェクト パラメーターはデフォルトで左辺値参照になります。したがって、次の関数宣言は上記の関数宣言と同等です。
class wrap { public: operator obj() const { ... } // Copy from me. };
補足
以上がC メンバー関数の参照修飾子 (& および &&) とは何ですか? また、それらはオブジェクト参照にどのように影響しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。