c++中的std::shared_ptr和std::weak_ptr
来源:互联网 发布:思维导图 mac 编辑:程序博客网 时间:2024/05/09 20:51
std::share类型在c++11提出,其意义:使用shared_ptr解决的主要问题是知道删除一个被多个对象共享的资源的正确时机,在本项目中所有的数据类均是使用智能指针来存储,就是为了解决这个问题。
一、std::shared_ptr采用的是引用计数来管理资源,std::weak_ptr通过lock来返回一个std::shared_ptr的指针来判定是否存在资源,但是不增加引用计数。
项目的代码模块:
void update_data(const std::shared_ptr<NodeComInfoRankCellData> & table_cell_data){ table_cell_data_ = table_cell_data; auto data = table_cell_data_.lock(); if (data == nullptr) { cocos2d::log("Error : NodeComInfoRankCell data == nullptr"); return; } text_player_nickname_->setString(data->player_nickname); text_player_rank_num_->setString(tools::to_string(data->player_rank)); text_player_chips_->setString(tools::get_chip_num(data->player_chips)); }
二、转载 std::shared_ptr的原理:http://blog.csdn.net/weiwenhp/article/details/8707969;
0 0
- c++中的std::shared_ptr和std::weak_ptr
- std::shared_ptr 和 std::weak_ptr
- std::tr1::shared_ptr、std::tr1::weak_ptr及std::tr1::enable_shared_from_this
- C++11 智能指针std::shared_ptr/std::unique_ptr/std::weak_ptr
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
- std:weak_ptr
- std::unique_ptr和std::shared_ptr的用法
- C++学习 std::tr1::shared_ptr、std::tr1::weak_ptr及std::tr1::enable_shared_from_this
- 引用计数智能指针std::tr1::shared_ptr与weak_ptr
- std::shared_ptr
- std::shared_ptr
- Item 20: 使用std::weak_ptr替换会造成指针悬挂的类std::shared_ptr指针
- Item20 Use std::weak_ptr for std::shared_ptr like pointers that can dangle
- std:weak_ptr 用法小结。
- 关于std:auto_ptr std:shared_ptr std:unique_ptr
- Zookeeper之reliable
- shiro关闭session管理
- maven加入依赖不能导入问题
- Android 你应该知道的学习资源 进阶之路贵在坚持
- TO_CHAR(DATE,FORMAT)详解
- c++中的std::shared_ptr和std::weak_ptr
- 多线程的使用(2) - NSOperation和NSOperationQueue
- Error:Failed to resolve: com.android.support:support-annotations:23.3.0
- day10_python2和python3的继承
- Codeforces 705C Thor (模拟)
- OpenSceneGraph实现的NeHe OpenGL教程 - 第二十八课
- jzoj 3076. 【备战NOIP2012图论专项模拟试题】位图
- php 自带过滤和转义函数
- TypeError: 'str' object is not callable