4

void ポインターが指すバッファー内のオブジェクトにアクセスする必要があります。オブジェクトは特定のオフセットにありますが、void ポインターでの演算は禁止されているため、どうすればオブジェクトにアクセスできますか?

4

1 に答える 1

11

char*ポインターを(そのようなポインターの +1 は 1 バイトオフセットされます) または他のポインター型にキャストすることができます。

ただし、このアプローチは非常にエラーが発生しやすいです。デザインをチェックした方がいいよ、何か臭いがするよ! void*C++ では 99% のケースで不必要であり、それらを使用する設計は通常、"C++" よりも "C" に近いものです。テンプレートと継承は、これらのことを行う方法であることを忘れないでください。

于 2011-02-20T19:27:37.783 に答える