的std :: stringstream的;移动分配不会使源处于无效状态

时间:2017-03-29 15:38:04

标签: c++ c++11 stringstream

根据文档,移动赋值运算符应该使源字符串流处于无效状态:

  

移动字符串流。操作后源流变为无效状态。

(来自:http://en.cppreference.com/w/cpp/io/basic_stringstream/operator%3D

鉴于此,我希望以下内容输出0,而是输出1,使用GCC 6.3.1。

#include <iostream>
#include <sstream>

int main()
{
    std::stringstream source;
    std::stringstream target;
    target = std::move(source);
    std::cout << bool(source);
    return 0;
}

我认为文档应该读取状态是未定义的而不是无效的,这在流的上下文中似乎有点过于强烈。任何人都可以确认吗?

0 个答案:

没有答案