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相关推荐

  1. C++ 智能指针(unique_ptr / shared_ptr)代码实现

    文章目录 unique_ptr 智能指针的实现 shared_ptr 智能指针的实现 指针类型转换 unique_ptr 智能指针的实现 一个对象只能被单个unique_ptr 所拥有. #inclu ...

  2. C++智能指针: shared_ptr 实现详解

    文章目录 shared_ptr描述 声明 作用 原理实现 函数使用 关于shared_ptr循环引用问题 shared_ptr描述 声明 shared_ptr属于C++11特性中新加的一种智能指针,它 ...

  3. 动态内存管理和智能指针 2.0 -- shared_ptr

    shared_ptr出现原因 通过第一章的学习,我们知道不管是auto_ptr合适scoped_ptr都是存在缺陷的,于是我们必须想出一个方法既能很好的管理我们的内存,而且在使用的时候,可以多个指针指 ...

  4. 【Smart_Point】unique_ptr与shared_ptr使用实例

    shared_ptr使用实例 文章目录 shared_ptr使用实例 unique_ptr使用实例 cv::fitLine中斜率为正无穷的情况,需要特殊考虑 std::string path = &q ...

  5. 【Smart_Point】C/C++ 中共享指针 shared_ptr

    1. 共享指针 shared_ptr 目录 1. 共享指针 shared_ptr 1.1 共享指针解决的问题? 1.2 创建 shared_ptr 对象 1.3 分离关联的原始指针 1.4 自定义删除 ...

  6. C++11中shared_ptr的使用

    在C++中,动态内存的管理是通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,可以选择对对象进行初始化:delete,接受一个动态对象的指针,销毁该对象,并释放与之 ...

  7. 记录智能指针使用shared_ptr使用错误

    shared_ptr为智能指针,今天一次在使用shared_ptr时,错误的将其初始化方式写为shared_ptr<T> test = shared_ptr<T>(),随后导致 ...

  8. C++ 11 创建和使用 shared_ptr

    shared_ptr 的类型是C + +标准库中一个聪明的指针,是为多个拥有者管理内存中对象的生命周期而设计的.在你初始化一个 shared_ptr 后,你可以复制它,把函数参数的值递给它,并把它分配 ...

  9. C++——智能指针——auto_ptr、shared_ptr、unique_ptr

    1.4.智能指针 智能指针是行为类似于指针的类对象. C++11 中提供了三种智能指针,使用这些智能指针时需要引用头文件 : ·shared_ptr; ·unique_ptr; ·auto_ptr; ...

  10. shared_ptr 的使用及注意事项

    1. 声明 #include <boost/shared_ptr.hpp> class UsersBitmap { ... } typedef boost::shared_ptr<U ...

最新文章

  1. RPC协议之争和选型要点
  2. 操作分布式文件之六:如何解析远程文件
  3. RocketMQ读书笔记7——吞吐量优先的场景
  4. 刚开始学centos和Oracle
  5. UIActivityIndicatorView
  6. Topshelf 学习 跨平台
  7. 347. Top K Frequent Elements 前 K 个高频元素
  8. 嵌入式系统HAL原理与BSP的实现方法
  9. flask执行python脚本_如何在Flask中运行python脚本
  10. ASP.NET Core MVC I\/O编程模型
  11. python下载文件并改名_Python遍历文件夹并批量改名
  12. 如何将常用的软件上传到ESXi本地存储中管理
  13. OSPFv3报文格式与作用分析
  14. ppi 各代iphone_各代iPhone逻辑分辨率与物理分辨率
  15. 2019最新升级【超能版】 vbox硬件级虚拟机系统 去虚拟化去vm标识 支持批量启动 批量克隆 CPA网赚挂机电商 virtualbox
  16. 把网页知乎的视频下载下来
  17. android 打开微信扫一扫
  18. QT实现加载百度离线地图
  19. 中控WinSwitch3 WinSwitch可视化软件 灯光控制管理系统
  20. Android实习周记:第三周,工作里重复太多,觉得枯燥,怎么办?

热门文章

  1. 深入理解空指针(C++)
  2. 3种函数参数传递方式
  3. 集成产品开发团队的组成
  4. dart基础之异步编程
  5. 在Mac下安装nvm管理node
  6. vs visual stdio 调试 显示指针为数组
  7. word2vec -- 负采样 -- skip-gram
  8. 交换技术及其具体应用
  9. 1.[精通Hibernate笔记]Hibernate简介
  10. gdb调试mpi程序