C++ vector的delete与clear的区别 - 析构函数
来源:互联网 发布:高清网络解码器 编辑:程序博客网 时间:2024/05/17 21:39
C++ vector的delete与clear的区别 - 析构函数
1.clear() 不调用析构函数
2.delete *it 调用析构函数可用以下程序测试出来:
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
ofstream txtout("test.txt");
class A
{
public:
A()
{ txtout<< "A constructor! "<<endl;
}
virtual~A();
};
A::~A()
{ txtout<< "A destructor! "<<endl;
}
const int test_size= 10;
int main()
{
{ vector< A* >the_vector,the_vector_copy;
A*pa;
for( inti=0;i <test_size;i++ )
{ pa = newA();
the_vector.push_back(pa);
the_vector_copy.push_back(pa);
}
txtout<<endl;
txtout<< "beforedelete... "<<endl;
pa= the_vector[0];
deletepa;
txtout<< "afterdelete... "<<endl;
txtout<<endl;
txtout<<endl;
txtout<< "beforeclear... "<<endl;
the_vector.clear();
txtout<< "after clear..."<<endl;
txtout<<endl;
txtout<<endl;
txtout<< "before alldeleting... "<<endl;
for( inti=1;i <test_size;i++ )
deletethe_vector_copy[i];
}
txtout<< "after all deleting... "<<endl;
txtout<<endl;
}
- C++ vector的delete与clear的区别 - 析构函数
- C++ vector的delete与clear的区别 - 析构函数
- vector的clear()的内部过程与析构函数调用
- vector的clear()的内部过程与析构函数调用
- vector::clear(),容器vector的clear函数详解。
- 【c++】vector.clear()的内存泄露问题
- vector的clear()操作与内存
- vector中存储的对象在clear时,会调用对象的析构函数
- Vector清空数据与释放内存(.clear与.swap的区别与使用)
- delete与delete[]的区别
- delete与delete[]的区别
- delete与delete[]的区别
- delete与delete[]的区别
- delete 与 delete[] 的区别
- delete与delete[]的区别
- delete与delete [] 的区别
- delete与delete[]的区别
- delete与delete[]的区别
- go语言开发环境-win7
- 黑马程序员__JAVA基础__语句
- Visual C++ 6.0下用命令行编译C++控制台程序
- 在Adobe Reader中统计PDF中的文字数
- paip.脚本操作IIS启动停止站点
- C++ vector的delete与clear的区别 - 析构函数
- .net ASCX 通过自定义事件调用ASPX中的方法
- paip.表格化CSV输出
- sql server视图的作用
- C语言俄罗斯方块(简易版)
- Python Excel 列名转换
- thinkphp配置文件数据库段配置
- 如何在picturecontrol上动态画图
- AWR之初体验--生成AWR报告