SM
Size: a a a
SM
О
TW
О
struct cluster {
shared_ptr<cluster> left,right;
weak_ptr<cluster> father;
cluster(){}
cluster(shared_ptr<cluster>& left,shared_ptr<cluster>& right) {
this->left = left;
this->right = right;
}
};
int main() {
auto left = make_shared<cluster>();
auto right = make_shared<cluster>();
auto father = make_shared<cluster>(left,right);
left->father = right->father = father;
return 0;
}
SM
О
struct cluster {
shared_ptr<cluster> left,right;
weak_ptr<cluster> father;
cluster(){}
cluster(shared_ptr<cluster>& left,shared_ptr<cluster>& right) {
this->left = left;
this->right = right;
}
};
int main() {
auto left = make_shared<cluster>();
auto right = make_shared<cluster>();
auto father = make_shared<cluster>(left,right);
left->father = right->father = father;
return 0;
}
SM
ID
О
ID
shared_ptr
, все бы понятно сталоID
TW
О
О
SM
TW
TW
ID
TW
K