网站首页 > 基础教程 正文
C++里面对于比如整型变量,如果使用默认的初始化,它的值是不确定状态。
也许你在debug模式下,可以看到int被初始化成了整型0,但是到release模式,就会发现这个值并不是这样。
经常会导致代码调式的时候都是好的,但是一旦使用release编译,就会出现奇怪的问题。
下面举个例子,我会对整型使用不同类型的初始化方式,请忽略内存没有释放的问题。
首先新建一个项目:
接着使用不同的初始化方式,分配int空间。
可以看到,输出的3个值都是0,没有任何问题。
现在我们调整使用Release模式编译,运行。
可以看到第一种使用默认初始化方式输出的值,并不是0。
使用string类型,默认的初始化是使用类的default constructor。所以不会有任何问题。
猜你喜欢
- 2024-10-10 C++系列1-1:初探C++ c=2μf
- 2024-10-10 浅谈C++11(第9篇 可变参数模板) c++可变参数模板类
- 2024-10-10 数组的初始化方式有哪几种? 数组的初始化是什么意思
- 2024-10-10 C++类构造函数,如何初始化对象?linux C++第27讲
- 2024-10-10 【C++编程语言】之 类和对象——对象的初始和消除
- 2024-10-10 C++基础语法梳理:引用、封装、继承和多态
- 2024-10-10 C++核心准则?:按照成员声明的顺序定义和初始化成员变量
- 2024-10-10 C++核心准则C.47:按照成员变量声明的次序定义和初始化数据成员
- 2024-10-10 C/C++语言编程系列002——不同情况下数组的初始化方法
- 2024-10-10 c++面试常见问题汇总—建议收藏 c++面试题总结
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)