我一直在读句子
不要依赖大小为8位的1字节
使用
CHAR_BIT而不是8作为常量来转换位和字节
等等.今天有什么现实生活系统,这是真的吗? (我不确定C和C++之间是否存在差异,或者它是否与语言无关.如果需要,请重新加入.)
在这个答案中,int8_t*用于(字节)指针算术:
std::size_t offset = offsetof(Thing, b);
Thing* thing = reinterpret_cast<Thing*>(reinterpret_cast<int8_t*>(ptr) - offset);
Run Code Online (Sandbox Code Playgroud)
我过去总是使用char*,但评论真的很混乱,没有人回复,所以我发布了这个单独的问题.
是否char*有效,以及进行这些计算的首选方式?