空指针算法

aCu*_*ria 26 c++

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

Kre*_*van 19

有没有比投射到char指针更好的方法?

不(除了开头char *而不是void *开头,所以你根本不必去投).

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

ptr = static_cast<char *>(ptr) + offset;
Run Code Online (Sandbox Code Playgroud)

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

  • 如您所建议,我在这里发布了另一个问题http://stackoverflow.com/questions/3378090/custom-memory-manager (2认同)