#include "stdafx.h"
#include <iostream>
#include <memory>
using namespace std;
class test {
public:
test(int val)
:m_val(val)
{};
~test() {};
int getVal() { return m_val; }
void setVal(int val) { m_val = val; }
private:
int m_val;
};
class share {
public:
share(shared_ptr<test> t)
:m_test(t) {};
~share() {};
void setTestVal(int val) {
m_test->setVal(val);
return;
}
int getTestVal() { return m_test->getVal(); }
private:
shared_ptr<test> m_test;
};
int main()
{
std::shared_ptr<test> p1 = make_shared<test>(1);
std::shared_ptr<share> p2 = make_shared<share>(p1);
std::shared_ptr<share> p3 = make_shared<share>(p1);
p2->setTestVal(2);
cout << p3->getTestVal() << endl;
}
对同一对象的shared_ptr,读取的数据一致吗?
最新推荐文章于 2023-09-21 10:52:55 发布