注意:我是一位经验丰富的 C++ 程序员,所以我不需要任何指针基础知识。只是我从来没有void**
和void*
.. void**
我希望有人能很好地解释这一点,这样我就可以更容易地记住语义。
考虑以下代码:(使用例如 VC++ 2005 编译)
int main() {
int obj = 42;
void* ptr_to_obj = &obj;
void* addr_of_ptr_to_obj = &ptr_to_obj;
void** ptr_to_ptr_to_obj = &ptr_to_obj;
void* another_addr = ptr_to_ptr_to_obj[0];
// another_addr+1; // not allowed : 'void*' unknown size
ptr_to_ptr_to_obj+1; // allowed
}