gpt4 book ai didi

c++ - 初始化 vector 和 std

转载 作者:行者123 更新时间:2023-12-02 02:46:09 24 4
gpt4 key购买 nike

如果我有一个变量

vector<myClass> myVector;

它已经初始化了吗?即,我可以立即添加(push_back)元素还是应该按以下方式调用构造函数?

myVector = vector<myClass>();

另一方面,是不是一样std::vector<myClass>vector<myClass>

最佳答案

Is it already initialized?

是(假设这是std::vector)。与任何正常的类一样,它的所有构造函数(包括此处使用的默认构造函数)都将其置于定义良好的状态。此时,它是一个有效的空 vector 。

I should call the constructor in the following way?

这不是调用构造函数(至少不是在 myVector 上)。构造函数在对象初始化期间自动调用;没有办法再次调用它。这将创建另一个空 vector ,然后将其复制分配给 myVector

On the other hand, is it the same std::vector and vector?

据推测,这是 std::vector,通过邪恶的 using namespace std; 转储到全局命名空间中。为了避免疑问、困惑和潜在的歧义,您应该避免这样做,删除任何流氓 using 指令,并始终将其称为 std::vector

关于c++ - 初始化 vector 和 std,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23539660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com