1

ソースコードで次の構造を見つけました。

variable_type variable_name{func(arg1, arg2, arg3)};

コードの次のバージョンでは、この構造は次の構造に置き換えられています。

variable_type variable_name = func(arg1, arg2, arg3);

それで、私の質問は、最初の行が何を意味し、2行目とどう違うのですか? また、2 行目の代わりに 1 行目を使用する方が良い、または悪い理由を知りたいですか?

4

2 に答える 2

1

最初の行は、一様初期化として知られる C++11 の新機能です。このスタイルの初期化は、 を受け取るコンストラクターを定義するクラスでも使用できますstd::initializer_list。この場合、そのようなコンストラクターが優先されます。

于 2013-03-18T09:30:02.410 に答える
1

これは、C++11 ブレースの初期化の例です。

たとえば、次の記事を参照してください。

https://www.informit.com/articles/article.aspx?p=1852519

于 2013-03-18T09:26:15.467 に答える