gpt4 book ai didi

C++:初始化 vs 赋值?

转载 作者:行者123 更新时间:2023-12-01 14:03:45 25 4
gpt4 key购买 nike

我正在阅读 Stroustrups C++ 第 4 版。第 153 页并有关于初始化与赋值的问题。我的理解是初始化发生在构造函数中,而在 operator= 重载函数中赋值。这样对吗?

另外,我不记得看到括号,即 int count {1}在他 1998 年的第三版中。书。我应该使用 int count {1} 来定义像计数器这样的变量吗?或 int count = 1 ?如果使用括号,似乎与 C 有一个尴尬的区别。

谢谢你的指导

void f() {
int count {1}; // initialize count to 1
const char∗ name {"Bjarne"}; // name is a variable that points to a constant (§7.5)
count = 2; // assign 2 to count
name = "Marian";
}

最佳答案

花括号是 uniform initialization 的一部分这是与 C++11 标准一起添加的。

使用

int value {1};

相当于
int value = 1;

使用花括号和“赋值”语法来初始化变量有一些区别,但在这个简单的例子中它们是相等的。

关于C++:初始化 vs 赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62160838/

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