代码之家  ›  专栏  ›  技术社区  ›  Museful

为什么STD::String String::String FixSt:(STD::Strand &)”存在吗?

  •  48
  • Museful  · 技术社区  · 6 年前

    我希望 stringstream 有一个构造函数,它从 string&& .这样的物种间“移动建设者”一般不存在于STL中吗?如果没有,为什么不呢?

    2 回复  |  直到 6 年前
        1
  •  55
  •   Howard Hinnant    6 年前

    由于 stringstream basic_string<charT> vector .并且没有能力用分配器来控制事情。在任何情况下,需要在C++ 11时间框架中被识别,但它只是一个过桥。

    P0408 .这个提议增加了你所寻求的功能,希望是C++ 20,但这还不确定。它已经成功地通过了LEWG,现在就在LWG的办公桌上。他们本月在Rapperswil没有达到这个目标,纯粹是因为日程安排过多。我希望它能通过LWG和全体委员会的投票。它当然会得到我的投票。

        2
  •  12
  •   isanae    6 年前

    std::stringstream::stringstream(std::string&&)

    这是由于 std::stringstream rdbuf

    RDBUF公司 std::string_buf p0408r4

    访问的内部缓冲区 basic_stringbuf 结果来自 ostringstream ,因为 制造的

    std::string

    explicit basic_ostringstream(
       basic_string<charT, traits, Allocator>&& str,
       ios_base::openmode which = ios_base::out,
       const Allocator& a = Allocator());
    

    str()

    template<class SAlloc = Allocator>
    void str(basic_string<charT, traits, SAlloc>&& s);