C++:实例化对象
c++: instantiate object
可能的重复项:
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)));
相关文章:
- 对象实例化调用构造函数的次数太多
- 为什么C++无法识别我的对象实例化?
- 使用大括号和 : 符号的对象实例化
- 对象实例化与类型C++
- cpp 静态对象实例化
- 用户创建的类对象实例化的未申请标识符
- 对象实例化后不输出
- 限制对象实例化堆
- 未知的 C++ 对象实例化语法
- 由于命名空间而导致的对象实例化错误
- C 在对象实例化时如何分开声明和构造函数
- JNI Java对象实例化期间的Segfault
- C++ 类文件中的对象实例化
- C++ 中的对象实例化
- 无法理解浮点数和对象实例化之间比较的原因
- C++对象实例化与赋值
- C++:用友元类限制对象实例化
- 将类中的对象实例化数限制为给定数量
- 使用 Sizeof、malloc 和 cast 的 C++ 对象实例化
- 通用成员函数定义,可从 'const' 和 'non-const' 对象实例化