[求教大虾]关于C++编译期变量和运行期变量的区别,总是有疑惑# Programming - 葵花宝典
t*g
1 楼
1。比如一个C++文件像这样:
int i=10;
i++; //ERROR
int array[5]={1, 2, 3, 4, 5}; //ok
array[3]=6; //ERROR
class C {
void f() {
int i;
i++; //ok
}
}
int main() {
int i;
i++; //ok
}
那么i就是编译期变量了么?
为什么第一个i++操作不可以呢?
为什么第二个(把变量扔到class的函数体里头)
和第三个(把变量扔到main函数里头)
却又可以呢?
2。是不是编译期和运行期的区别就在于main函数?
main()函数里的变量都是运行期变量
main()函数外的变量都是编译期变量?
3。为什么上面的array[3]=6赋值语句出错?
一直困扰我的问题,看了不少资料,还是不甚理解,请大虾们指教,多谢!
int i=10;
i++; //ERROR
int array[5]={1, 2, 3, 4, 5}; //ok
array[3]=6; //ERROR
class C {
void f() {
int i;
i++; //ok
}
}
int main() {
int i;
i++; //ok
}
那么i就是编译期变量了么?
为什么第一个i++操作不可以呢?
为什么第二个(把变量扔到class的函数体里头)
和第三个(把变量扔到main函数里头)
却又可以呢?
2。是不是编译期和运行期的区别就在于main函数?
main()函数里的变量都是运行期变量
main()函数外的变量都是编译期变量?
3。为什么上面的array[3]=6赋值语句出错?
一直困扰我的问题,看了不少资料,还是不甚理解,请大虾们指教,多谢!