gpt4 book ai didi

c - C cast 的真正作用是什么?

转载 作者:太空狗 更新时间:2023-10-29 16:46:12 24 4
gpt4 key购买 nike

我编写了越来越多的 C 应用程序,现在我对强制转换有些疑惑。在 C++ 中,动态转换是一种非常昂贵的操作(例如向下转换),但我什至不知道静态转换。

在 C 中,我不得不写这样的东西:

assert ( p ); /* p is void* */
int v = *(int*)p;

它是« C 动态转换» 吗?是不是和static_cast<int*>(p)完全一样C++的?多少钱?

提前致谢。

最佳答案

C 中的强制转换仅在编译时有意义,因为它告诉编译器您希望如何操作一段数据。它不会更改数据的实际值。例如,(int*)p 告诉编译器将 p 视为整数的内存地址。然而,这在运行时没有任何成本,处理器只是按照提供给它的方式处理原始数字。

关于c - C cast 的真正作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746136/

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