boost::shared_ptr相关

来源:互联网 发布:opencv调用tensorflow 编辑:程序博客网 时间:2024/06/14 22:10

看到代码里有MyCls类和MyClsPtr类,一直以为MyClsPtr类是由boost根据MyCls类自动生成的,谁知道它是需要typedef一下才行的。

#include <boost/shared_ptr.hpp>class MyCls{public:    MyCls(int i = 0, float f = 0) :i_(i), f_(f){}public:    int i_;    float f_;};typedef boost::shared_ptr<MyCls> MyClsPtr;//只有typedef了MyClsPtr后,才能使用MyClsPtr。我一直以为是自动生成的MyClsPtr呢。-_-!int main(){    MyClsPtr ptr = MyClsPtr(new MyCls(3, 1.732f));    ptr->i_ = 2;    ptr->f_ = 1.414f;    MyClsPtr ptr2 = ptr;    return 0;}

另外,


完。

0 0