为什么STD:Ostream被移动了?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (41)

显然,stream不能被复制,应该可以移动。根据27.9.1.11 [ofstream.cons]段4有可能移动的构造std::ofstream(同为真std::ifstreamstd::fstreamstd::*stringstream变体)。例如:

#include <iostream>
#include <fstream>
#include <string>

std::ofstream makeStream(std::string const& name) {
    return std::ofstream(name);
}

int main()
{
    std::ofstream out{ makeStream("example.log") };
}

为什么不能std::ostream自己移动?

提问于
用户回答回答于

所属标签

可能回答问题的人

  • 找虫虫

    0 粉丝0 提问6 回答
  • 优惠活动秘书

    0 粉丝2 提问5 回答
  • 爸爸

    腾讯 · 客户端安全 (已认证)

    4 粉丝4 提问5 回答
  • 不吃貓的鱼oo

    5 粉丝466 提问5 回答

扫码关注云+社区

领取腾讯云代金券