gpt4 book ai didi

c++ - 有或没有 reinterpret_cast

转载 作者:行者123 更新时间:2023-11-30 00:53:05 26 4
gpt4 key购买 nike

int main()
{
class_name object;
object.method();
fstream file("writeobject.dat" , ios::out|ios::app);
file.write(reinterpret_cast<char*>(&object), sizeof(object));
return 0;
}

/////////////////////////////////////////////////////////////////////////////////////////

int main()
{
class_name object;
object.method();
fstream file("writeobject.dat" , ios::out|ios::app);
file.write((char*)&bk,sizeof(book));
return 0;
}

以上两个函数有什么区别。 reinterpret_cast 在这里做什么?我没有看到两个 main() 函数的输出之间有任何区别。

最佳答案

C 风格的转换只不过是从以下预定义顺序成功的 C++ 转换:

  • const_cast
  • 静态转换
  • static_cast,然后是 const_cast
  • 重新解释_cast
  • 重新解释_cast,然后是 const_cast

在这种情况下,他们在做同样的事情。但是,如果您使用的是 C++,则最好使用 C++ 样式的显式转换,因为它们更能表明意图,而且明确说明您需要什么转换总是比任由编译器选择一个更好你。

关于c++ - 有或没有 reinterpret_cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com