C语言中不同初始化方法的详细示例有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4080个文字,预计阅读时间需要17分钟。
前言+C++初始化方式相关内容:本文主要向家长介绍了C++初始化的相关内容,分享了如何供家长参考学习,下面不多说,一起来详细看看吧。
C++小实验测试:下面程序中main函数输出a.a b.b
前言
本文主要给大家介绍了关于C++初始化方式的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
C++小实验测试:下面程序中main函数里a.a和b.b的输出值是多少?
#include <iostream> struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; int main() { foo a{}; bar b{}; std::cout << a.a << '\t' << b.b; }
答案是a.a是0,b.b是不确定值(不论你是gcc编译器,还是clang编译器,或者是微软的msvc++编译器)。为什么会这样?这是因为C++中的初始化已经开始畸形发展了。
接下来,我要探索一下为什么会这样。在我们知道原因之前,先给出一些初始化的概念:默认初始化,值初始化,零初始化。
本文共计4080个文字,预计阅读时间需要17分钟。
前言+C++初始化方式相关内容:本文主要向家长介绍了C++初始化的相关内容,分享了如何供家长参考学习,下面不多说,一起来详细看看吧。
C++小实验测试:下面程序中main函数输出a.a b.b
前言
本文主要给大家介绍了关于C++初始化方式的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
C++小实验测试:下面程序中main函数里a.a和b.b的输出值是多少?
#include <iostream> struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; int main() { foo a{}; bar b{}; std::cout << a.a << '\t' << b.b; }
答案是a.a是0,b.b是不确定值(不论你是gcc编译器,还是clang编译器,或者是微软的msvc++编译器)。为什么会这样?这是因为C++中的初始化已经开始畸形发展了。
接下来,我要探索一下为什么会这样。在我们知道原因之前,先给出一些初始化的概念:默认初始化,值初始化,零初始化。

