Мне трудно понять фрагмент кода, приведенный ниже.
class Child1 : public Base1 {
public:
int Func1(char *Var);
}
class Cls_X: public std::enable_shared_from_this<Cls_X> {
public:
void Func2(char *Var_copy);
}
Func2
вызывается с Func1
как показано ниже
int Func1(char * Var){
...
make_shared<Cls_X>(ioc, ctx)->Func2(Varcopy_ptr);
...
}
Вопросы:
Как работает class Cls_X: public std::enable_shared_from_this<Cls_X>
?
Попробовал поискать в Google, но не смог понять документацию для этого. Может ли кто-нибудь объяснить на простом английском?
Являются ли здесь Cls_X и Child1 производным классом Base1?
Примечание:
Тег [boost] добавлен, поскольку пример кода взят из одной из библиотек boost. Пожалуйста, проверьте пример, чтобы увидеть, как shared_from_this
используется в программе
Ps 1: - Измените подходящее название, если это возможно.