vector容器存入类对象写法
声明一个Aclass 类,然后用容器vector存该类的对象通常不恰当的写法如下class Aclass{/**/};vector ac;/* operations... */Aclass a_obj;vector::iterator i = find(ac.begin(), ac.end(), a_obj);这样写在语法上
·
声明一个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)