list中存储的是对象(lsit<object>)本身的话,在push_pack的时候,会调用copy赋值构造函数,在调用erase时,会调用析构函数,list<object>变量结束时,会调用其中所有对象的析构函数。这是自己现阶段的理解。有深入会后续补充。
下面是代码举例:
#include <stdio.h>
#include <stdlib.h>
#include <list>
#include <string.h>
#include <iostream>
using namespace std;
class Person{
public:
Person(string name, int age):m_name(name), m_age(age){
printf("%s:%d created!\n", m_name.c_str(), m_age);
}
Person(const Person& p){
m_name = p.m_name;
m_age = p.m_age;
p