私はこのコードを持っています:
struct TestDataElement1
{
unsigned int something;
};
struct TestDataElement2
{
boost::shared_ptr<TestDataElement1> testDataElement1;
};
TestDataElement1 test1;
test1.something = 100;
TestDataElement2 test2;
test2.testDataElement1 = boost::make_shared<TestDataElement1>(test1);
cout << "TEST1: " << test2.testDataElement1 -> something << endl;
test1.something = 200;
cout << "TEST2: " << test2.testDataElement1 -> something << endl;
これを生み出すもの:
テスト1:100
TEST2:100
しかし、test2にはtest1へのポインターがあるだけなので、なぜ100、200が生成されないのか理解できません。