昨日、初期化子リスト項目へのパラメーターの指定はオプションであることを知りました。しかし、この場合に何が起こるかについての規則は何ですか?
次の例では、ptrは0に初期化され、falseに切り替わり、Barはデフォルトで構築されますか?未指定の引数値==未定義の動作の場合、初期化子リストにはほとんど意味がないため、この質問は一種の冗長だと思います。
初期化子リスト項目に引数が与えられていない場合の動作を示すC++標準のセクションも指摘できますか?
class Bar
{
Bar() { }
};
class SomeClass;
class AnotherClass
{
public:
SomeClass *ptr;
bool toggle;
Bar bar;
AnotherClass() : ptr(), toggle(), bar() { }
// as opposed to...
// AnotherClass() : ptr(NULL), toggle(false), bar(Bar()) { }
};