我想问为什么我必须使用&缓冲区而不仅仅是缓冲区,为什么我要通过地址重新解释强制转换或类型转换。感谢。
DWORD buffer;
std::ifstream openFile("xxxxx",std::ios::in|std::ios::binary);
std::ofstream writeFile("xxxxx",std::ios::out|std::ios::binary);
while(!openFile.eof())
{
openFile.read(reinterpret_cast<char*>(&buffer),sizeof(DWORD));
writeFile.write((char *)&buffer,sizeof(DWORD));
}
答案 0 :(得分:1)
结帐this pointers reference。你所拥有的是一个变量,在&
前加上告诉c ++你要引用数据的地址位置(称为数据指针)。这是创建高效代码的有效方法,因为您不必在将数据传递给函数时复制数据,只需告诉函数它所在的位置,以便它可以根据需要引用它。
干杯