C++未经初始化
2016-03-05 21:14
211 查看
不管是类中的成员还是普通变量或者对象的情况。
不过这里讨论的都是局部变量,不是全局变量。
1.内置类型
不管是int 还是 指针类型
没有初始化的时候都是不确定的值,能够访问这个值,但是这个值是不确定的。
2.指针指向
如果一个指针没有初始化,那么指向这个指针将直接使程序崩溃。
当然你如果动态分配一个变量,返回那个指针,没有初始化。应该属于情况1,访问那个指针指向的对象是得到一个不确定的值。
3.类类型
这就要看这个有没有默认实参了。
像string类型之所以会默认初始化为空字符串"",是因为它的类定义就提供了这个默认参数,称为类内初始值。
如果没有的话,情形就是1,2.
不过这里讨论的都是局部变量,不是全局变量。
1.内置类型
不管是int 还是 指针类型
没有初始化的时候都是不确定的值,能够访问这个值,但是这个值是不确定的。
2.指针指向
如果一个指针没有初始化,那么指向这个指针将直接使程序崩溃。
当然你如果动态分配一个变量,返回那个指针,没有初始化。应该属于情况1,访问那个指针指向的对象是得到一个不确定的值。
3.类类型
这就要看这个有没有默认实参了。
像string类型之所以会默认初始化为空字符串"",是因为它的类定义就提供了这个默认参数,称为类内初始值。
如果没有的话,情形就是1,2.
相关文章推荐
- C语言
- c语言易错基础知识
- 堆排序
- .使用malloc开辟一个3*4的二维数组,并将内容初始化为0-11
- C++析构函数为什么要为虚函数
- usaco 1.5.3 sprime
- C++获得当前时间
- C++中string类下的begin,end,rbegin,rend的用法
- C++ inline
- 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)
- c语言基础函数——setjmp()和longjmp()
- c++ 引用
- usaco 1.1.4 beads
- usaco 1.1.2 gift1
- Android NDK Eclipse断点JNI调试C++基础详解
- C++ Builder string相互转换
- C++计算器项目的初始部分
- 关于C艹中的笑脸问题。
- C++朝花夕拾【更新】
- C++中的string