Cpp在不初始化的情况下创建字符串



我想将文件的内容读取为字符串。

string contents(size, ''); -> size was determined above using the file.seekg and file.tellg.
file.read((char*) contents.data(), size);

现在,我知道该字符串的内容将在file.read中被覆盖,所以不需要将该字符串初始化为null字符。

有办法做到这一点吗?

您可以这样做:

std::string contents(std::istreambuf_iterator<char>{file},
std::istreambuf_iterator<char>{});

但它可能不会更快。无论哪种方式,与从驱动器读取相比,初始化都可能非常快。

相关内容

最新更新