下面是SVO源码中LZ读到的一句代码:
global.h
class Frame{
typedef boost::shared_ptr<Frame> FramePtr;
}
之后调用:Frame::FramePtr frame_
类似的:
//在类中定义智能指针
class Camera{
public:
typedef shared_ptr<Camera> Ptr; //相机的智能指针
}
//调用这个智能指针
Camera::Ptr camera_;
camera_->world2pixel();
总结:这段话意味 创建一个智能共享指针FramePtr,元素类型为Frame,能够自动析构删除指针。
initialization.cpp
px_vec.clear(); px_vec.reserve(new_features.size());
总结:reserve(n)为px_vec保留空间。
reprojector.cpp
boost::unique_lock<boost::mutex> lock(map_.point_candidates_.mut_);
总结: 多线程部分内容。
一、shared_ptr的使用方法
首先要包含:#include <boost/shared_ptr.