const/static キーワードが単一の C++ ステートメントで宣言されたすべての変数に適用されるかどうか疑問に思っていました。
たとえば、このコードで
static const int a, b, c;
それらはすべて static const int として宣言されていますか? それとも、'a' だけが static const int として宣言され、残りは int またはそのバリエーションとして宣言されていますか?
const/static キーワードが単一の C++ ステートメントで宣言されたすべての変数に適用されるかどうか疑問に思っていました。
たとえば、このコードで
static const int a, b, c;
それらはすべて static const int として宣言されていますか? それとも、'a' だけが static const int として宣言され、残りは int またはそのバリエーションとして宣言されていますか?
static
const
すべての変数に適用されます。
*
、[]
、&
は単一の変数にのみ適用されます。
例えば:
static int *a, &b=*a, c[10]={};
すべての変数は静的ですが、
唯一a
のポインターは、
あくまでもb
参考ですが、
c
配列のみです。
変数宣言構文の詳細については、次を参照してください。
構文がそのようになっている理由に興味がある場合は、この質問も参照してください。