删除动态分配的向量清除其内容

问题描述 投票:8回答:2

说我有:

vector<string>* foo = new vector<string>();

我向其中添加了很多东西,使用它,然后我只打电话给:

delete foo;

我需要先打电话给foo.clear();吗?还是delete调用析构函数。

请不要对此愚蠢发表任何评论,我知道这里至少应使用自动指针。此行为在我正在使用的代码库中,因此我无法解决此问题。

c++ vector destructor dynamic-memory-allocation
2个回答
9
投票

是,将调用vector的析构函数,这将清除其内容。


3
投票

根据容器的要求(C ++标准,表96-容器要求)

© www.soinside.com 2019 - 2024. All rights reserved.