相关疑难解决方法(0)

Unique_ptr的STL向量 - 如何重置?

我创建了unique_ptr的两个标准向量:

std::vector<std::unique_ptr<Student>> students;
std::vector<std::unique_ptr<Teacher>> teachers;
Run Code Online (Sandbox Code Playgroud)

然后,我创建一个新对象并将其放在向量中:

students.push_back(std::unique_ptr<Student> (new Student()));
teachers.push_back(std::unique_ptr<Teacher> (new Teacher()));
Run Code Online (Sandbox Code Playgroud)

完成所有操作后,我该如何删除矢量?

Whitout unique_ptr我不得不做一个循环并删除每个对象:

while (!students.empty())
{
    delete students.back();
    students.pop_back();
}
Run Code Online (Sandbox Code Playgroud)

现在有了unique_ptr我该怎么办?

我知道我必须使用unique_ptr :: reset(我认为).

c++ vector std unique-ptr c++11

5
推荐指数
1
解决办法
4062
查看次数

标签 统计

c++ ×1

c++11 ×1

std ×1

unique-ptr ×1

vector ×1