#include <vector>
#include <memory>
class MyTest : public std::enable_shared_from_this<MyTest> {
public:
std::shared_ptr<MyTest> getptr() {
return shared_from_this();
}
};
int main() {
std::shared_ptr<MyTest> sp(new MyTest);
}
调试的时候发现shared_ptr初始化时,根据传入的指针(这里是MyTest*)是不是继承自enable_shared_from_this<T> (这里是enable_shared_from_this<MyTest>),选择_M_enable_shared_from_this_with中的一个。在选择_M_enable_shared_from_this_with两个定义之一时,算是SFINAE吗?
--
修改:codeAnimal FROM 114.222.187.*
FROM 114.222.187.*