このページはC++11に採用された言語機能の変更を解説しています。
のちのC++規格でさらに変更される場合があるため関連項目を参照してください。
概要
static
メンバやextern
として宣言した配列を定義した際、宣言時に指定した要素数として定義されることが規定された。
extern int x[10];
struct S {
static int y[10];
};
int x[]; // 要素数は10
int S::y[]; // 要素数は10
これが規定されるまでは、定義時の要素数は未規定だった。