gpt4 book ai didi

c++ - 获取指向 4 字节对象的指针......以独立于实现的方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:24:19 26 4
gpt4 key购买 nike

当我意识到假设一个 int 将成为一个指向 4 个字节长度的东西的指针时,我可能并不完全安全。

因为 Some of the aspects of C++’s fundamental types, such as the size of an int, are implementation- defined ..

如果您正在处理具有 32 位带符号整数样本的对象(例如波形)怎么办?您将字节指针转换为 (int*) 并一次处理一个样本。

我只是好奇获取 4 字节指针的“安全方法”是什么,如果将来某个时候 MSVC 委员会决定 int 现在是 8 字节,它不会停止工作.

Related

最佳答案

有一个名为 stdint.h 的 C99 header 你的编译器可能有。它定义了类似 uint32_t 的类型, 一个无符号的 32 位整数。

从 C++11 开始,你的编译器需要有这个头文件。您应该将其包含在 #include <cstdint> 中.

如果没有,请查看 Boost Integer , 将此 header 模仿为 <boost/cstdint.hpp> .


要将指针存储为整数,请使用 intptr_t , 在同一 header 中定义。

关于c++ - 获取指向 4 字节对象的指针......以独立于实现的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304399/

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