C++ 项目中的 shared_ptr

shared_ptr 允许多个指针指向同一个对象;

shared_ptr < string > p1; // shared_ptr,可以指向string

shared_ptr < list<int> > p2; // shared_ptr, 可以指向int的list

注意智能指针是指针!指针所指向的对象有一个引用次数的属性,当引用次数为0时,该对象就会被析构。

class XnetNode

{

public:

int Init(void);

std::shared_ptr<xag_nav::os::StorageBase> mp_dcStorage;

}

int XnetNode::Init(void)

{

/* 初始化数据中心 */

while (nullptr == (mp_dcStorage = Application::Instance()->createStorage()))

{

XAG_LOG_E("failed to create storage");

std::this_thread::sleep_for(1s);

}

s32Ret = mp_dcStorage->setUserData(pType, const_cast<char *>(data.c_str()), data.size());

}

相关推荐
EnzoRay20 分钟前
C++(一)
c++
啊阿狸不会拉杆2 小时前
《算法导论》第 12 章 - 二叉搜索树
数据结构·c++·算法·排序算法
aluluka2 小时前
Emacs 折腾日记(二十九)—— 打造C++ IDE
c++·ide·emacs
岁忧9 小时前
(nice!!!)(LeetCode 每日一题) 3363. 最多可收集的水果数目 (深度优先搜索dfs)
java·c++·算法·leetcode·go·深度优先
略无慕艳意11 小时前
Notes of Effective CMake
c++·c·cmake
ze言11 小时前
为什么现代 C++ (C++11 及以后) 推荐使用 constexpr和模板 (Templates) 作为宏 (#define) 的替代品?
开发语言·c++
岁忧16 小时前
(LeetCode 面试经典 150 题) 82. 删除排序链表中的重复元素 II (链表)
java·c++·leetcode·链表·面试·go
ikkkkkkkl16 小时前
LeetCode:347.前K个高频元素
数据结构·c++·算法·leetcode
源代码•宸17 小时前
C++高频知识点(十五)
c++·经验分享
阿巴~阿巴~18 小时前
构造函数:C++对象初始化的核心机制
开发语言·c++