gpt4 book ai didi

c++ - 实例化一个新的 STL vector

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:27 25 4
gpt4 key购买 nike

我有一个指向 STL 的指针 vector 。

很喜欢

vector<MyType*>* myvector;

我必须在构造函数中将此指针设置为 NULL,然后在触及该属性时延迟加载。

如何将其实例化为 vector 的新实例?

最佳答案

假设您正确定义了 vector :

vector<int>*   myvector;  // Note vector must be parametrized with a type.
// There is no such thing as a a naked vector.

初始化为NULL

myclass::myclass()
:myvector(NULL) // You can use 0 here but I still like NULL because it
{} // gives me more information. Waiting for the new keyword.

首次使用时实例化:

myvectr = new vector<int>(100); // reserve some space as appropriate

但是你不应该有一个原始指针作为你类的成员(除非有很好的理由)。您将需要编写自己的复制构造函数和赋值运算符。

或者您可以用智能指针包装“myvector”。或者甚至更好地使其成为法 vector 。没有必要将其设为指针。

关于c++ - 实例化一个新的 STL vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970498/

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