我想避免不必要的复制。我的目标是:
std::ifstream testFile( "testfile", "rb" );
std::vector<char> fileContents;
int fileSize = getFileSize( testFile );
fileContents.reserve( fileSize );
testFile.read( &fileContents[0], fileSize );
(这是行不通的,因为reserve实际上并未在向量中插入任何内容,因此我无法访问[0])。
当然std::vector<char> fileContents(fileSize)可以,但是初始化所有元素会产生开销(fileSize可能会很大)。相同resize()。
这个问题并不是关于开销有多重要。相反,我只是想知道是否还有另一种方法。
叮当猫咪
噜噜哒
BIG阳
相关分类