実際、私はこのイディオムを定義する方法を知りません。
一部のコードでは、次のような赤いものがあります。
ClassWithAMessage c = "This is the message";
私が読むと思っていた場所:
ClassWithAMessage c("This is the message");
この動作を再現する方法がわかりません。誰かが情報やおもちゃの例を提供できますか?
実際、私はこのイディオムを定義する方法を知りません。
一部のコードでは、次のような赤いものがあります。
ClassWithAMessage c = "This is the message";
私が読むと思っていた場所:
ClassWithAMessage c("This is the message");
この動作を再現する方法がわかりません。誰かが情報やおもちゃの例を提供できますか?
ClassWithAMessage c = "This is the message";
コピー初期化です。これを機能させるには、コピー コンストラクターを使用できる必要があります。最初に、ClassWithAMessage
変換コンストラクタ from を使用してテンポラリが構築され"This is the message"
ます。次に、テンポラリをコピー コンストラクタで使用して、 を構築しc
ます。これはコピー省略の対象となります (temp が存在しない可能性があります)。
ClassWithAMessage c("This is the message");
は直接初期化。変換コンストラクターが直接使用されます。
イディオムではなく、オブジェクトを構築するさまざまな方法です。