我不知道,但是假设您需要创建一个可复制的对象,则可能会使用类似
std::shared_ptr<std::ostream> make_ostream(std::string const& filename) { return std::make_shared<std::ofstream>(filename);}…,然后使用转发功能调用您实际要调用的功能:
void writeTo(std::shared_ptr<std::ostream> stream) { if (stream) { writeTo(*stream); }}(如果名称重载会导致问题,那么您当然可以不同地调用转发功能)。



