我不知道,但是假设您需要创建一个可复制的对象,则可能会使用类似@H_301_1@
std::shared_ptr<std::ostream> make_ostream(std::string const& filename) {
return std::make_shared<std::ofstream>(filename);
}
…,然后使用转发功能调用您实际要调用的功能:@H_301_1@
void writeTo(std::shared_ptr<std::ostream> stream) {
if (stream) {
writeTo(*stream);
}
}