誰かが以下の行を解釈できますか:
const void *const *ptr;
タイプと Ptr 変数の両方が定数ですか?
後
const void *const *ptr;
を変更することはできますが、変更することはできptr
ません*ptr
。または**ptr
ptr = <SOMETHING_ELSE>; /* ok */
*ptr = <SOMETHING_ELSE>; /* error */
**ptr = <SOMETHING_ELSE>; /* error, ignoring the point that you cannot even have an object of type void */
私の頭の中から:
void * const var; // The pointer is constant and var can change
const void * var; // The pointer can change but not var
だから私はあなたの構文だと思います
const void * const *ptr;
ptrがポインタへのポインタであることを意味します。したがって、ptrはアドレスを指し、そのアドレスは変更できません(最初の定数)。また、ptrが配置されているアドレスは変更できません(2番目の定数)。しかし、私はこれを完全には確信していません。