![]() |
1
98
我想你应该用
编辑:
是的,的确如此。它在返回内存之前调用向量中每个元素的析构函数。这取决于存储在向量中的“元素”。在下面的示例中,我将在向量中存储对象本身:
例如,如果要在不同容器之间共享对象,可以存储指向它们的指针。在这种情况下,当
对于评论中的问题,我认为
也许您想返回一个引用:
|
![]() |
2
33
|
![]() |
3
10
vector.clear()实际上与vector.erase(vector.begin(),vector.end())相同。
如果你的问题是打电话
标准免责声明:代码在浏览器中编写,未经测试。 |
![]() |
4
9
使用 v.clear() 清空向量。 如果向量包含指针,则clear调用对象的析构函数,但不删除指针引用的内存。
|
![]() |
5
4
是
|
![]() |
6
3
如果您将指针保存在容器中,并且不想手动销毁指针,则使用 boost shared_ptr .这里是std::vector的示例,但您可以将其用于任何其他STL容器(set、map、queue…)。
|
![]() |
7
2
增加上述好处
|
![]() |
8
-1
如果你的向量像这样
|
![]() |
9
-1
性能:Theta(n) 如果是纯对象(不建议用于大型数据类型,则 VCE.Car(); |
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 6 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 6 月前 |