class factory final {
private:
class object final {
public:
int x;
};
public:
inline static std::shared_ptr<object> createObject() { return std::make_shared<object>(); }
};
int main() {
auto item1 = factory::createObject();
std::shared_ptr<factory::object> item2 = factory::createObject();
return std::getchar();
}
你好上面的代码无法使用VS2015编译,因为我无法访问类工厂的私有成员(类对象)。到目前为止,一切都很好,这很有意义。我很好奇 auto 行为什么起作用。它确实解决了正确的类型并按预期工作。