gpt4 book ai didi

c++ - C++中隐式构造的变量

转载 作者:可可西里 更新时间:2023-11-01 16:29:49 31 4
gpt4 key购买 nike

我正在掌握 C++,但有一个语言特性让我特别难以理解。

我习惯于显式声明和初始化一个变量,但在 c++ 中,我们有时似乎并隐式构造一个变量。

例如,在此代码段中,rdev 似乎是隐式构造的(因为它随后用于构造 default_random_engine);

random_device rdev;
default_random_engine gen(rdev());

有人能解释一下这是怎么回事吗?除了诸如 int myInt; 之类的简单声明外,我如何区分这一点?

最佳答案

Can someone explain what's going on here?

这些是定义,而不仅仅是声明。变量定义创建变量。在第一种情况下,没有初始化器,表明它应该被默认初始化。

How can I tell this apart from a simple declaration such as int myInt; ?

这也是一个定义,创建 int 变量并保持未初始化状态。

你可以在不定义的情况下声明一个全局变量:

extern int myInt;

extern 表示它具有外部链接,并且在其他地方定义。其他类型的变量不能在不定义的情况下声明。

关于c++ - C++中隐式构造的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702400/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com