C++ 智能指针 shared_ptrmake_shared用法
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 智能指针 shared_ptrmake_shared用法相关的知识,希望对你有一定的参考价值。
一、使用shared_ptr条件
-
C++版本11以上
-
需引入头文件
#include <memory>
否则编译会报错
error: ‘shared_ptr’ was not declared in this scope
二、用法
#include <iostream>
#include <vector>
#include <memory>
using namespace std;
class testClass
public:
testClass()
temp3 = make_shared<vector<int>>();
shared_ptr<vector<int>> temp3;
;
int main()
cout<<"999999"<<endl;
testClass tempObj;
cout<<"temp1的长度: "<<tempObj.temp3->size()<<endl;
tempObj.temp3->push_back(333);
cout<<"temp1的长度: "<<tempObj.temp3->size()<<endl;
return 0;
三、若是定义在class中,则需要在class的构造函数中
#include <iostream>
#include <vector>
#include <memory>
using namespace std;
class testClass
public:
testClass()
temp3 = make_shared<vector<int>>();
shared_ptr<vector<int>> temp3;
;
int main()
cout<<"999999"<<endl;
testClass tempObj;
cout<<"temp1的长度: "<<tempObj.temp3->size()<<endl;
tempObj.temp3->push_back(333);
cout<<"temp1的长度: "<<tempObj.temp3->size()<<endl;
return 0;
原文:C++ 智能指针 shared_ptr、make_shared用法
以上是关于C++ 智能指针 shared_ptrmake_shared用法的主要内容,如果未能解决你的问题,请参考以下文章