创建文件与编译器优化

时间:2016-12-22 15:13:07

标签: c++ optimization

我想从路径列表中创建一个空文件列表:

#include <fstream>
#include <string>
#include <vector>

int main()
{
  std::vector<std::string> paths{ "foo.txt", "bar.txt", "baz.txt" };

  for (auto & path : paths)
  {
    std::ofstream new_file{ path, std::ofstream::trunc };
  }
}

这样可行,但我的代码版本是使用最高级别的优化编译的。所以我的问题是:是否可以保证我的文件会被创建?我担心一些编译器会“看到”这个变量未被使用,并且不考虑这一行,尽管构造函数具有所需的副作用。

0 个答案:

没有答案