当容器中的元素为指针时,我们删除容器中元素的时候,也要注意使用delete ptr;删除堆堆对象实例,以免造成内存泄露的问题。
下面我以vector容器为例,也适用于其它容器(deque、map、set)。
#include<iostream>
#include<iomanip>
#include<vector>
#include<string>
using namespace std;
//C++中的结构体相当于一个类,变量默认为public
typedef struct SPerson{
string strName;//姓名
string strAddr;//住址
string strTel;//联系电话
SPerson(string name, string addr, string tel)
{
strName = name; strAddr = addr; strTel = tel;
cout << "Construct Person : " << strName << endl;
}
~SPerson()
{
cout << "Destruct Person : " << strName << endl;
}
}SPERSON, *PSPERSON;
void DispVector(vector<PSPERSON>& vPerson)
{
cout.setf(std::ios::l