给定一个 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/