gpt4 book ai didi

c++ - 构造函数中的 "my_constructor : variable(x)"和 "this.variable = x"有区别吗?

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:27 26 4
gpt4 key购买 nike

<分区>

下面代码中Demo1和Demo2有区别吗?

#include <iostream>

class Base {};

class Demo1 : public Base {
public:
Demo1() : instance_variable(5) {

}

int instance_variable;
};

class Demo2 : public Base {
public:
Demo2() {
this->instance_variable = 5;
}

int instance_variable;
};

int main(int argc, char **argv)
{
Demo1 a;
Demo2 b;

std::cout << "a.instance_variable: " << a.instance_variable << std::endl;
std::cout << "b.instance_variable: " << b.instance_variable << std::endl;

return 0;
}

我在我正在阅读的一本书中看到了第一个符号,我不确定这两个符号是否等同,或者 Demo1 是否有我应该注意的细微差别。

我发现第二个更具可读性,因为我来自 Java/JavaScript 背景,所以我很好奇我是否可以在不改变代码含义的情况下将“Demo1”替换为“Demo2”。

还有,表达式“constructor:field(x){}”叫什么?

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