如果我有一个var
vector<myClass> myVector;
Run Code Online (Sandbox Code Playgroud)
它是否已经初始化?,即,我可以添加(push_back)inmediately元素,或者我应该以下面的方式调用构造函数?
myVector = vector<myClass>();
Run Code Online (Sandbox Code Playgroud)
在另一方面,是同std::vector<myClass>和vector<myClass>?
它已经初始化了吗?
是的(假设是这样std::vector).与任何理智类一样,它的所有构造函数(包括此处使用的默认构造函数)都将其置于一个定义良好的状态.此时,它是一个有效的空矢量.
我应该以下面的方式调用构造函数?
那不是调用构造函数(至少不是myVector).在对象初始化期间自动调用构造函数; 没有办法第二次打电话给它.这将创建另一个空向量,然后将其复制分配给它myVector.
另一方面,它是相同的std :: vector和vector吗?
据推测,这是std::vector一个带有邪恶的全局命名空间using namespace std;.为了避免怀疑,混淆和潜在的暧昧,你应该避免这样做,删除任何流氓使用指令,并始终将其称为std::vector.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |