cpp create string 创建没有初始化
Cpp create string creation without initialization
我想将一个文件的内容读入一个字符串中。
string contents(size, '[=10=]'); -> size was determined above using the file.seekg and file.tellg.
file.read((char*) contents.data(), size);
现在,我知道字符串的内容将在file.read中被覆盖,所以不需要将字符串初始化为空字符。
有办法吗?
你可以这样做:
std::string contents(std::istreambuf_iterator<char>{file},
std::istreambuf_iterator<char>{});
但它可能不会更快。无论哪种方式,与从驱动器读取相比,初始化都可能非常快。
我想将一个文件的内容读入一个字符串中。
string contents(size, '[=10=]'); -> size was determined above using the file.seekg and file.tellg.
file.read((char*) contents.data(), size);
现在,我知道字符串的内容将在file.read中被覆盖,所以不需要将字符串初始化为空字符。
有办法吗?
你可以这样做:
std::string contents(std::istreambuf_iterator<char>{file},
std::istreambuf_iterator<char>{});
但它可能不会更快。无论哪种方式,与从驱动器读取相比,初始化都可能非常快。