によって返されたこのポインタを使用してプライベートメンバへのアクセス、私はこのようになります実装があります。shared_from_this
class A : public std::enable_shared_from_this<A>
{
public:
A() {}
void dummy(std::string name);
private:
std::map<std::string, std::string> cache;
};
void
A::dummy(std::string name) {
auto shared_this = shared_from_this();
auto find =
[name, shared_this]() {
auto iter = shared_this->cache.find(name);
};
}
を、私はこの行がどのように動作するかわからない: 自動ITER = shared_this-> cache.find(名) ;
クラスへのポインタを使用してプライベートメンバーにアクセスしようとしているようですが、動作が異なるかどうかはわかりません。
これはどのように機能しますか?
これは問題ありません。 'dummy()'はクラス 'A'のメンバであるため、' A'のインスタンスのプライベートメンバにアクセスすることができます。 – Mike