【问题标题】:What is difference between int a=985 and int a(985) [duplicate]int a = 985和int a(985)有什么区别[重复]
【发布时间】:2024-03-08 18:00:02
【问题描述】:
#include <iostream>
using namespace std;
int main(){
    int a=985;
    cout << a;
}

其次是

#include <iostream>
using namespace std;
int main(){
    int a(985);
    cout << a;
}

您好 int a(985) 和 int a=985 有什么区别。是指这些赋值方法之间的任何逻辑吗? char 和 string 等也是如此。

【问题讨论】:

  • 它们之间没有真正的区别,至少对于 int 或其他内在类型而言没有。
  • 看到这个答案:*.com/questions/1051379/…

标签: c++ language-lawyer


【解决方案1】:

没有区别。两者都有

T t = to;

T t (to);

对于其他一些 T to 复制构造 t 来自 to。如果tot 有不同的类型,事情会变得更复杂,例如见here

【讨论】:

  • 抱歉有点困惑,您的意思是 a(985) 985 正在复制到 a?
  • @AsifMushtaq 基本上是的。对于像int 这样的类似值的类型,两者都会将 LHS 设置为 RHS 的值。对于更复杂的类型,如果 LHS 和 RHS 具有相同的类型,两者仍然会执行相同的操作,只是可能更复杂。
相关资源