コードを検討する
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
struct B
{
public:
void f() { for (auto &v : member) { std::cout << v << std::endl; } }
private:
int member[100];
};
int main()
{
B b{};
b.f();
}
このコードは $8.5.4/3 でガイドされていると思います
型 T のオブジェクトまたは参照のリスト初期化は、次のように定義されます。 — 初期化子リストに要素がなく、T が既定のコンストラクターを持つクラス型の場合、オブジェクトは値で初期化されます。
代わりに、VS2013 コンパイラはすべての 0xCCCCCCCC を発行します。これは、b.member のすべての要素が初期化されていないままであることを意味します。したがって、値の初期化ではなく、デフォルトの初期化を実行しているようです。
何か不足している場合はお知らせください。