shared_ptr and
a shared_ptr implements some comparison operators
- e.g., a shared_ptr implements the “<“ operator
- but, it doesn’t invoke “<“ on the pointed-to objects
‣ instead, it just promises a stable, strict ordering
‣ given two shared pointers, it will pick some ordering between them
(probably based on the pointer address, not the pointed-to value)
- this means you can use shared_ptrs as keys in maps, but you
have to use a slightly more complex form of the sort algorithm
‣ you have to provide sort with a comparison function
bool sortfunction(shared_ptr<int> x, shared_ptr<int> y) {
return *x < *y;
}
bool printfunction(shared_ptr<int> x) {
std::cout << *x << std::endl;
}
int main(int argc, char **argv) {
vector<shared_ptr<int> > vec;
vec.push_back(shared_ptr<int>(new int(9)));
vec.push_back(shared_ptr<int>(new int(5)));
vec.push_back(shared_ptr<int>(new int(7)));
std::sort(vec.begin(), vec.end(), &sortfunction);
std::for_each(vec.begin(), vec.end(), &printfunction);
return EXIT_SUCCESS;
}
shared_ptr and相关推荐
- C++ 智能指针(unique_ptr / shared_ptr)代码实现
文章目录 unique_ptr 智能指针的实现 shared_ptr 智能指针的实现 指针类型转换 unique_ptr 智能指针的实现 一个对象只能被单个unique_ptr 所拥有. #inclu ...
- C++智能指针: shared_ptr 实现详解
文章目录 shared_ptr描述 声明 作用 原理实现 函数使用 关于shared_ptr循环引用问题 shared_ptr描述 声明 shared_ptr属于C++11特性中新加的一种智能指针,它 ...
- 动态内存管理和智能指针 2.0 -- shared_ptr
shared_ptr出现原因 通过第一章的学习,我们知道不管是auto_ptr合适scoped_ptr都是存在缺陷的,于是我们必须想出一个方法既能很好的管理我们的内存,而且在使用的时候,可以多个指针指 ...
- 【Smart_Point】unique_ptr与shared_ptr使用实例
shared_ptr使用实例 文章目录 shared_ptr使用实例 unique_ptr使用实例 cv::fitLine中斜率为正无穷的情况,需要特殊考虑 std::string path = &q ...
- 【Smart_Point】C/C++ 中共享指针 shared_ptr
1. 共享指针 shared_ptr 目录 1. 共享指针 shared_ptr 1.1 共享指针解决的问题? 1.2 创建 shared_ptr 对象 1.3 分离关联的原始指针 1.4 自定义删除 ...
- C++11中shared_ptr的使用
在C++中,动态内存的管理是通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,可以选择对对象进行初始化:delete,接受一个动态对象的指针,销毁该对象,并释放与之 ...
- 记录智能指针使用shared_ptr使用错误
shared_ptr为智能指针,今天一次在使用shared_ptr时,错误的将其初始化方式写为shared_ptr<T> test = shared_ptr<T>(),随后导致 ...
- C++ 11 创建和使用 shared_ptr
shared_ptr 的类型是C + +标准库中一个聪明的指针,是为多个拥有者管理内存中对象的生命周期而设计的.在你初始化一个 shared_ptr 后,你可以复制它,把函数参数的值递给它,并把它分配 ...
- C++——智能指针——auto_ptr、shared_ptr、unique_ptr
1.4.智能指针 智能指针是行为类似于指针的类对象. C++11 中提供了三种智能指针,使用这些智能指针时需要引用头文件 : ·shared_ptr; ·unique_ptr; ·auto_ptr; ...
- shared_ptr 的使用及注意事项
1. 声明 #include <boost/shared_ptr.hpp> class UsersBitmap { ... } typedef boost::shared_ptr<U ...
最新文章
- RPC协议之争和选型要点
- 操作分布式文件之六:如何解析远程文件
- RocketMQ读书笔记7——吞吐量优先的场景
- 刚开始学centos和Oracle
- UIActivityIndicatorView
- Topshelf 学习 跨平台
- 347. Top K Frequent Elements 前 K 个高频元素
- 嵌入式系统HAL原理与BSP的实现方法
- flask执行python脚本_如何在Flask中运行python脚本
- ASP.NET Core MVC I\/O编程模型
- python下载文件并改名_Python遍历文件夹并批量改名
- 如何将常用的软件上传到ESXi本地存储中管理
- OSPFv3报文格式与作用分析
- ppi 各代iphone_各代iPhone逻辑分辨率与物理分辨率
- 2019最新升级【超能版】 vbox硬件级虚拟机系统 去虚拟化去vm标识 支持批量启动 批量克隆 CPA网赚挂机电商 virtualbox
- 把网页知乎的视频下载下来
- android 打开微信扫一扫
- QT实现加载百度离线地图
- 中控WinSwitch3 WinSwitch可视化软件 灯光控制管理系统
- Android实习周记:第三周,工作里重复太多,觉得枯燥,怎么办?