vector容器存入类对象写法

来源:互联网 发布:降调软件哪个好 编辑:程序博客网 时间:2024/06/10 21:49

声明一个Aclass 类,然后用容器vector存该类的对象

通常不恰当的写法如下


class Aclass{/**/};

vector<Aclass> ac;

/* 
   operations... 
*/

Aclass a_obj;
vector<Aclass>::iterator i = find(ac.begin(), ac.end(), a_obj);


这样写在语法上不会有任何问题,若提高代码的泛化能力,不写独立于容器类型的代码,且将容器和类封装起来,仅保留接口,上述写法可修改为


class Aclass{/**/};
typedef vector<Aclass> Acontainer;

Acontainer ac;

/*
operations...
*/

Aclass a_obj_;
Acontainer::iterator it = find(ac.begin(), ac.end(), a_obj_);


from:Effictive STL

1 0