STL在我的编程里用的算是比较多。有人说用STL不好,有人说用STL省时间。
黑猫白猫,抓到老鼠就是好猫。总是能完成任务就是好的解决办法。
我在STL中经常用容器存储指针之类的东西,刚学STL的时候,以为Clear的时候,就会自动
帮编程者析构。敲得代码多了,多少会吸取些教训。
刚开始的时候我是这么用:
vector<path*> p;
for(int i=0;i<100;i++)
p.push_back(new path);
for(size_t i=0;i<100;i++)
delete p[i];
后来 创建 vector的指针容器多了,就要大量写这么多的重复语句,只好自己写个专门的处理类。Clean
class Clean{
public:
template<class T >
static void Clear(vector<T*>& c)
{
size_t size= c.size();
for (size_t i =0 ;i<size ;i++)
{
if(c[i])
delete c[i];
}
c.clear();
}
template<class T >
static void Clear(list<T*>& c)
{
size_t size= c.size();
for (size_t i =0 ;i<