C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – reinterpret_cast何时修改位?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从C标准:

在这个网站上接受过培训,相信并重复一遍. (即使可能只是琐事).从float *到int *的reinterpret_cast允许产生不同的位模式.唯一的保证是reinterpret_cast的结果返回到float *将产生原始位模式.

我的问题:这是否会发生?现有的真实世界的平台或cpu或编译器是否实际重新解释为不同的位模式?如果没有,那么reinterpret_cast是否存在任何运行时开销的真实情况呢?

根据我对reinterpret_cast的所有经验,演员是编译器的指令,而不是运行时间.

解决方法

我曾经在char *大于int *的平台上工作,即使在平台上也有不同的布局 大小是一样的.所讨论的机器都不是 然而,今天特别相关(尽管第二,PDP-10是其全盛时期更重要的机器之一). 也可以想象,一些英特尔的编译模式 本机模式(或以前称为纯模式)将会 在一个reinterpret_cast中甚至是一个“归一化”指针 隐式转换,以方便地址比较. 这也是可以想象的(虽然我没有看到它)这样 转换执行正确的对齐,例如一个转换 char * to int *可能会将2个低位位强制为0 不过,实际上,我今天认为,你不可能 看到reinterpret_cast在数据指针之间进行任何更改 类型.这个问题更具历史意义. (但我不知道 现代嵌入式处理器.从我所了解的,其中很多 是字寻址,所以如果sizeof(int)!= sizeof(char),他们是 可能需要一个特殊的格式来解决char.)

大佬总结

以上是大佬教程为你收集整理的c – reinterpret_cast何时修改位?全部内容,希望文章能够帮你解决c – reinterpret_cast何时修改位?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: