この質問は、この質問のフォローアップの質問です:元の質問
から継承するクラスstd::enable_shared_from_this
があり、このクラスにはstd::shared_ptr<Self>
クラスの詳細が完全で成功したことを知った後、このクラスのコンストラクターのいずれかで、保存さstd::shared_ptr<Self>
れているものをshared this
.
例:
class Self : public std::enable_shared_from_this<Self> {
private:
std::shared_ptr<Self> me_; // Or
std::unique_ptr>Self> me_;
public:
Self ( /*some parameters*/ );
};
Self::Self( /* some parameters */ ) {
// Check parameters for creation
// Some work or initialization being done
// If all is successful and construction of this class is about
// to leave scope, then set the smart pointer to the this*
// How to do ...
me_ = std::enable_shared_from_this<Self>::shared_from_this();
// Properly if this is even possible at all.
}