gpt4 book ai didi

c++ - 如何声明 vector 的unique_ptr?

转载 作者:行者123 更新时间:2023-12-05 08:43:18 27 4
gpt4 key购买 nike

我正在尝试使用 unique_ptr 声明 MyClass 的全局 vector 。我的编译器是 4.8.4。

glo.h

extern std::unique_ptr<std::vector<MyClass>> gl_vec;

glo.cpp

std::unique_ptr<std::vector<MyClass>> gl_vec;

在我第一次初始化并在不同的 *.cpp 文件中使用它的文件中:

#include "glo.h"

// within function
{
gl_vec = std::unique_ptr<std::vector<MyClass>> ();

cout << "gl_vec size = " << (*gl_vec).size() << endl; // crashes here
}

当我使用指针时,事情总是崩溃。有人看到我做错了什么吗?

最佳答案

除非您初始化或分配一个有效的指针值,否则 unique_ptr 的指针值为 null。

gl_vec = std::unique_ptr<std::vector<MyClass>>(new std::vector<MyClass>());

关于c++ - 如何声明 vector 的unique_ptr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31125624/

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