[英]How to set a vector of pointers = to nullptr in c++?
我有以下代码
std::vector<std::unique_ptr<Account>> openedAccounts;
(帐户是一个类),所以我有一个指针向量,我知道制作指针时的最佳做法是用某些东西初始化它或确保将其分配给 nullptr,但是当我执行std::vector<std::unique_ptr<Account>> openedAccounts = nullptr;
或std::vector<std::unique_ptr<Account>> openedAccounts = std::vector<nullptr>;
它不起作用,那么我将如何将openedAccounts
设置为nullptr
?
默认构造的std::vector
是空的,所以你很清楚。
同样,默认构造的std::unique_ptr
是 null,因此调整向量大小也可以开箱即用。
向量不是指针,也不是模拟指针的 class 即它不是智能指针也不是花哨的指针。 您不能将nullptr
分配给向量,也不能将nullptr
分配给它。 没有 null 向量之类的东西。
如果要将向量初始化为空,则可以像在示例中那样使用默认初始化(值初始化也可以)。 无需进一步的步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.