Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
const/static关键字是否在变量声明中传播 我想知道const/static关键字是否适用于在单个C++语句中声明的所有变量。_C++ - Fatal编程技术网

const/static关键字是否在变量声明中传播 我想知道const/static关键字是否适用于在单个C++语句中声明的所有变量。

const/static关键字是否在变量声明中传播 我想知道const/static关键字是否适用于在单个C++语句中声明的所有变量。,c++,C++,例如,使用此代码 static const int a, b, c; 它们都声明为静态常量吗?或者只是将“a”声明为静态常量int,而将其余部分声明为int或其变体?static和const应用于所有变量 *,[],&仅应用于单个变量 例如: static int *a, &b=*a, c[10]={}; 所有变量都是静态的,但是 只有a是指针 只有b是参考 只有c是数组 有关变量声明语法的详细信息,请参阅: 如果您感兴趣,还可以查看语法为何如此 你试过测试它吗?我没有试

例如,使用此代码

static const int a, b, c;

它们都声明为静态常量吗?或者只是将“a”声明为静态常量int,而将其余部分声明为int或其变体?

static
const
应用于所有变量

*
[]
&
仅应用于单个变量

例如:

static int *a, &b=*a, c[10]={};
  • 所有变量都是静态的,但是

  • 只有
    a
    是指针

  • 只有
    b
    是参考

  • 只有
    c
    是数组

有关变量声明语法的详细信息,请参阅:


如果您感兴趣,还可以查看语法为何如此

你试过测试它吗?我没有试过,因为我在一台公共计算机上,无法编写代码。@NateRubin,google
Ideone
:)这是一个在线编译器,如果你为你的语句提供了源代码,我会投票支持它。@JoshuaD.Boyd:我提供的语句在语法上是正确的(它可以编译),但它不会运行,因为我用指向随机内存位置的指针初始化了一个引用。它会产生分割冲突等。我只是想提供一个简单的例子,这就是为什么…对于一个源代码,我指的是引用意义上的(源代码排序的权威文档之外),而不是提供源代码意义上的。经验法则:所有可以编写的内容都离开了实际的数据类型(
int
等)修改该数据类型,并因此应用于声明的所有内容。其他一切都会修改变量,因此只适用于一个变量。但是我同意C语言的声明会在你的大脑中产生一个结。…@JoshuaD.Boyd:哦,这是一个很好的观点;我添加了一些链接——虽然这可能不是您所期望的,但这正是我发现的与该问题相关的有趣之处。