【发布时间】:2023-04-05 10:21:01
【问题描述】:
从 c++ 开始,发现可以通过两种方式初始化变量
int example_var = 3; // with the assignment operator '='
或
int example_var(3); // enclosing the value with parentheses
有理由使用其中一个吗?
【问题讨论】:
-
您知道,如果您在自己的类型上测试它,
MyClass obj = 5;会调用构造函数,而不是赋值运算符。我也知道以前有人问过这个问题;我会试着找到它的去向。 -
从技术上讲,这些都不是作业。它们是初始化。他们定义并初始化一个新变量。当您将新值分配给现有变量时,就会发生分配。 (
int i = 1是初始化,i = 2是赋值)
标签: c++ variable-assignment copy-constructor assignment-operator