gpt4 book ai didi

d - 诠释我=诠释(); D 会发生什么?

转载 作者:行者123 更新时间:2023-12-02 06:31:52 25 4
gpt4 key购买 nike

考虑以下程序(参见现场演示 here)

import std.stdio;
void main()
{
int i=int();
writefln("i is %d",i);
}

在像 C++ 这样的语言中,语句 int i=int(); 被称为值初始化。对于 int 类型,值初始化基本上以零初始化告终。如果我没记错的话,C++ 标准保证它总是给我零。但是 D 语言是否像我们在 C++ 中那样具有像值初始化这样的特性?在所有 D 编译器和我在 D 程序之上编译和运行的每个环境中,它是否一定给我一个零?

最佳答案

当在 D 中声明一个变量时,它总是被设置为它的“默认初始化器”,它可以作为 T.init 手动访问,其中 T 是类型(例如 int.init)。整数类型的默认初始值设定项是 0, bool 值是 false, float 是 NaN

因此您甚至不需要为默认初始化分配一个变量;只是宣布它很好。 int i; 将始终为零,直到设置为其他内容。

可以通过将变量初始化为 void 来显式禁用默认初始化;例如,int i = void;

关于d - 诠释我=诠释(); D 会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33321183/

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