C++中有关各种变量声明和定义的问题
来源:互联网 发布:周易算法49 编辑:程序博客网 时间:2024/05/16 08:46
今天去给本科生助教,然后本科生问了我一个问题,没有回答出来,尴尬死了,回到实验室之后立马翻资料,并记录下来。
主要问题是这样的,先把代码粘贴下来。
class Test {public:int a[3] = {1,2,3};Test();virtual ~Test();};在类中定义一个成员数组,并给数组赋初值,第四行代码。编译报错,{语法错误,也就是类成员数组声明时不能显示初始化,然后又在构造函数中使用以下代码进行初始化还是不行,也就是声明过后就不能使用列表的形式进行初始化。
Test(){a={1,2,3};//这样肯定是错误的,因为a本身是一个常量,不能放置在等号的左边。}
综上所述,数组的初始化,要么在声明时使用列表形式进行初始化,要么只能一个一个进行初始化。但是数组作为类的成员变量,是不能在声明时进行初始化的。而数组作为全局变量和函数的局部变量时,可以在声明时使用列表形式进行初始化。如下两种形式都是正确的。
int a[3] = {3,1,2};//正确int main() {int b[4] = {3,1,4,2};//正确}通过上述问题,顺便总结了一下C++中变量的初始化问题。
1.全局变量:声明时可以定义。
2.方法局部变量:声明时可以定义。
3.类成员变量:声明时不可以定义。但是在VS2010版本中,const static 类型的整型数据在声明时可以定义,其他类型则不可以。其他的编译器还没有测试。如果有好心人知道的话,可以写在评论中。Thank you.
- C++中有关各种变量声明和定义的问题
- [水滴]C中变量的定义和声明的区别
- C语言中变量声明和定义
- C语言中变量声明和定义
- C语言中变量和函数的声明与定义
- c/c++中变量的声明和定义
- C语言中变量和函数的声明与定义
- C语言中变量的定义和声明
- C语言中变量的复杂声明和定义
- C中变量的定义?声明?
- C语言中变量的定义&声明
- C中变量的声明与定义
- C变量的声明和定义
- C 语言变量的声明和定义
- C变量的声明和定义
- c语言变量的声明和定义
- C变量的声明和定义
- C变量的声明和定义
- SRAM、DRAM、硬盘、ROM、RAM、EPROM、FLASH区别和联系
- 八数码的八境界【转】
- 利用头文件ctime,并且定义一个类,来实现输出当前时间
- OCP-1Z0-053-V12.02-171题
- ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog)
- C++中有关各种变量声明和定义的问题
- ajax原理和数据格式
- Discuz x2 直接爆出管理用户和密码
- MVC设计模型深入学习
- POJ 2299 Ultra-QuickSort
- c与指针(三)
- Java 单例模式探讨 (转)
- Source Insight 支持 PHP代码的详细设置
- 字符统计