我在读“Stroustrups”C++第四版。第153页,有关于初始化和分配的问题。据我理解,初始化发生在构造函数中,赋值在operator=重载函数中。这是正确的吗?
而且,我不记得在他1998年第三版中看到过括号,即int count {1}。书。我应该使用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";
}发布于 2020-06-02 20:28:40
花括号是的一部分,它是与C++11标准一起添加的。
使用
int value {1};等于
int value = 1;在初始化变量时使用大括号和“赋值”语法有一些不同,但在这种简单的情况下,它们是相等的。
发布于 2020-06-02 20:49:08
初始化意味着您第一次写入变量并给它一个初始值,如int x=5;但是赋值意味着您已经有了一个变量,并且您更改了它的值,就像您稍后来设置x=10时一样;现在您在变量x上赋值为10。
https://stackoverflow.com/questions/62160838
复制相似问题