C++ 变量初始化规则
2014-01-07 20:32
281 查看
1、定义变量的时候,如果没有初始化,它的值是什么呢?
它的值取决于变量的类型和变量定义的位置。
2、考虑基本类型的变量,定义时没有初始化。如果定义在方法外部,初始化为0,如果定义在方法内部,不被初始化。使用未初始化的变量,导致未定义行为。未初始化的变量事实上,也有一个值,这个值是随机的。因此强烈建议,基本类型的变量都要初始化,也就是方法内部的变量。
3、考虑类类型的变量,定义时没有初始化。不管定义在哪里,都会调用默认构造方法,这种情况下,必须提供默认构造方法,如果没有,编译出错。也就是说,对于类类型的变量,不存在没有初始化的情况,因为没有显式初始化,会调用默认构造方法进行隐式初始化。
它的值取决于变量的类型和变量定义的位置。
2、考虑基本类型的变量,定义时没有初始化。如果定义在方法外部,初始化为0,如果定义在方法内部,不被初始化。使用未初始化的变量,导致未定义行为。未初始化的变量事实上,也有一个值,这个值是随机的。因此强烈建议,基本类型的变量都要初始化,也就是方法内部的变量。
3、考虑类类型的变量,定义时没有初始化。不管定义在哪里,都会调用默认构造方法,这种情况下,必须提供默认构造方法,如果没有,编译出错。也就是说,对于类类型的变量,不存在没有初始化的情况,因为没有显式初始化,会调用默认构造方法进行隐式初始化。
相关文章推荐
- C++变量初始化规则
- C++中不同变量的初始化规则
- C++变量初始化规则
- C++变量初始化规则
- 【C++学习笔记】变量初始化规则
- C++ 初始化形式、变量初始化规则、类构造函数的初始化列表
- (转)C++变量初始化规则
- 详解C++中变量的初始化规则
- c++ 变量定义 的初始化规则
- C++变量初始化规则
- C++中变量默认初始化规则
- C++中不同变量的初始化规则
- C++变量的初始化规则
- c++变量初始化规则
- 关于C/C++中switch语句case中变量不能初始化赋值的问题
- c++基础:普通变量初始化与类内初始值初始化的不同
- c++ 类成员变量初始化
- C++中各种类型的成员变量的初始化方法
- c++ 全局变量初始化的一点总结
- C/C++内存分布与变量初始化顺序