gpt4 book ai didi

c++ - 不同类型的变量初始化

转载 作者:可可西里 更新时间:2023-11-01 17:25:08 24 4
gpt4 key购买 nike

C++ 中各种类型初始化的目的是什么,正确的是什么?

int i1 = 1;
int i2(1);
int i3{};
int i4 = {1};
int i5 = int{1};

最佳答案

int i1 = 1;

这是很好的旧 C 风格。仍然工作正常并且在 C++ 中是常规的。

int i2(1);

这是 C++ 风格。这是因为某些类型的构造函数需要多个参数。

int i3{};

C++11 风格。

int i4 = {1};

这不是传统的。

int i5 = int{1};

这不是传统的。但由于 C++11 的新“统一初始化语法”,它得到了支持。

int i6 = {};

你没有问这个,但它在 C++11 中也有效。

int i7{1};

另一个好处,这可能是 C++11 中统一初始化语法最常规的用法。

auto i8 = int{1};

感谢 KerrekSB 的这种可憎行为,他将其归功于 Herb Sutter。这可能会为您赢得“非真正的现代 C++”阵营的 friend ,并疏远您对第一种语法非常满意的同事。

关于c++ - 不同类型的变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37157704/

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