c++ - 空指针算术

标签 c++

给定一个 void 指针,如果我想让 void 指针指向前面的 x 个字节,如何最好地做到这一点?有没有比转换为 char 指针更好的方法?

最佳答案

Is there a better way than casting to a char pointer?

否(除了以 char * 而不是 void * 开头,因此您根本不必强制转换它)。

如果这是不可取或不可能的,那么唯一的方法是:

ptr = static_cast<char *>(ptr) + offset;

(注意:如果您在 C++ 中执行此类操作,通常会有更好的解决方案。除非您是专家并且已经排除了其他所有选择,否则我建议您发布一个新问题,询问是否有更好的方法来做你想做的事情!)

关于c++ - 空指针算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3377977/

相关文章:

c++ - Haskell Thrift 库在性能测试中比 C++ 慢 300 倍

c++ - CStringT 到 char[]

c++ - 在 C++ 中从其伪代码实现算法

c++ - Apple Mach-O 链接器 (id) 错误 - 链接器命令失败,退出代码为 1(使用 -v 查看调用)C++ SFML

c++ - C++中 protected 和私有(private)派生之间的区别是什么

c++ - 如何在 GMP 的 while 循环中获得不相等

c++ - 如何将字符串传递给 ofstream::open 作为文件名

c++ - unsigned char * 数据作为 c++ 或 c 中函数的返回类型

c++ - statvfs() 无法正常工作 C++ linux

c++ - Dijkstra 算法实现 - 代码不适用于更大的输入