下面是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.hpp>
&n

本文介绍了Boost库中的智能指针`shared_ptr`的使用方法,强调了它在管理动态内存和多对象共享资源时的优势。同时,文章探讨了`reserve()`方法的作用,解释了如何通过`reserve()`在预先知道内存需求时避免不必要的容器重新分配,以提高性能。
最低0.47元/天 解锁文章
6268

被折叠的 条评论
为什么被折叠?



