避免野指针的一个方法是在使用指针的同时始终确保指针指向有效的内存地址。对于指针的指针,也可以通过以下方法来避免野指针:
- 在声明指针的指针时,先将指针指向NULL或者一个有效的地址,而不是让指针指向未初始化的内存。
int* ptr = nullptr; int** ptr_ptr = &ptr;
- 在使用指针的指针时,确保指针的指针指向有效的内存地址,或者在使用指针的指针之前进行有效性检查。
if(ptr_ptr != nullptr && *ptr_ptr != nullptr) { // 对指针的指针进行操作 }
- 在释放指针的指针指向的内存之前,先检查指针的指针是否为NULL或者指向有效的内存地址。
if(ptr_ptr != nullptr && *ptr_ptr != nullptr) { delete *ptr_ptr; *ptr_ptr = nullptr; }
通过以上方法,可以有效地避免指针的指针产生野指针的情况。