C++:实例化对象

c++: instantiate object

本文关键字:对象 实例化 C++      更新时间:2023-10-16

可能的重复项:
C++对象实例化与赋值

我对C++很陌生,想知道将对象实例化为

int main () {
  vector< int > x(2);
}

int main () {    
  vector< int > x = vector< int > (2); 
}

除了后者需要更长的时间来编写。提前感谢!

区别很大程度上是语法上的:

  • vector<int> x(2);直接初始化

  • vector<int> x = vector<int>(2);副本初始化

后者正式要求类具有可访问的复制构造函数,但实际上将省略副本,并且两个版本生成完全相同的代码。

您应该始终首选直接初始化。

你也可以发疯:

  • vector<int> x = vector<int>(vector<int>(vector<int>(2)));