修改指针地址:一般可直接将指针赋值为目标类的地址
void* pointtodefine=new MyClass();
通过函数修改指针指向的地址
有些场景需要通过函数修改指针pointtodefine,使其指向自定义的类MyClass。(例如,仅函数为留给用户的接口)
注意:对于函数参数是通过值传递的情况,如果函数参数为指针的话,将实参指针传递给函数形参,相当于拷贝了实参,在函数内部修改指针地址不会影响原来实参指针的地址。但是,如果在函数内部修改指针指向的值,则实参指针指向的值也随之更改。
总结:指针作为函数的参数,在函数中只能修改指针指向的值,无法实现修改实参指针的地址;指针的指针作为函数参数,在函数内部可以实现修改实参指针的地址。
方法:需要将指向该指针的指针作为参数传递给函数,再在函数中修改(即指针的指针作为参数传递给函数)。图示化过程如下:
<