問題タブ [value-initialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
65 参照

c++ - このクラスを初期化するときにリストの初期化が呼び出されないのはなぜですか?

このページで説明されている値の初期化に従ってhttps://en.cppreference.com/w/cpp/language/value_initialization

T が、デフォルト コンストラクターを持たないが std::initializer_list を取るコンストラクターを持つクラス型である場合、リスト初期化が実行されます。

したがって、次のコードスニペットでクラスを初期化すると呼び出されると予想していましたMyclass(const std::initializer_list<int> &l)が、コンパイラは次のように述べています

何故ですか?これはコードです。Windows で Mingw64 C++11 を使用してコンパイルしました。

0 投票する
2 に答える
127 参照

c++ - 削除されたデフォルト ctor の横に空のコピー ctor を定義すると、空のリストを使用した値の初期化が失敗するのはなぜですか?

要するに、以下のコードがコメントで説明されているように動作するのはなぜですか?

これを理解するには、標準のどの部分 (または少なくとも cppreference のページ) を見る必要がありますか?

ただし、A(const A&) = default;代わりに書いても壊れ//A(const A&) {} ませんA a{};。これはどうですか?根本的な原因は同じだと思いますが、C++を本当に知っている人の言葉は、私が思っているよりも優れています.