【问题标题】:C++11: Trying to create vector of fstreams [duplicate]C ++ 11:尝试创建fstreams的向量[重复]
【发布时间】:2013-07-16 21:23:36
【问题描述】:

我正在尝试执行以下操作:

std::vector< std::fstream > filelist;

while( condition ) {
    fstream f( filename );
    // Do some stuff with f
    f.seekg( 0, std::ios_base::beg );
    filelist.push_back( std::move( f ) );
}

但是,当我尝试编译它时,它会变得很糟糕。我知道流在 C++11 中不应该是可复制的,但它们应该是可移动的,对吧?我觉得这里缺少一些东西。

哦,我正在使用带有 --std=c++11 选项的 g++ 4.8.1

【问题讨论】:

  • 在VS2012下为我编译。

标签: c++ c++11 std fstream stdvector


【解决方案1】:

这个特殊功能在 gcc 4.8 中仍然不可用。它应该可以在 clang 和 VS2012 中编译。

【讨论】:

  • 好的,所以 g++-4.8.1 还不支持流中的移动构造函数。所以,我想我会尝试使用 std::vector<:unique_ptr>> 代替。
猜你喜欢
  • 1970-01-01
  • 2021-08-05
  • 2016-04-18
  • 2018-08-03
  • 2014-07-19
  • 1970-01-01
  • 2014-07-20
  • 2017-08-31
  • 1970-01-01
相关资源
最近更新 更多