由于个人习惯能不用指针的时候尽量不用指针,所以对指针的引用这种用法接触的非常少,最近在看essinal c++的模板例子中有用到,就记录一下
一般只在函数的参数类型中会用到
void func(int *&p);
之所以参数的类型需要是指针的引用,是因为如果以int *p做为函数参数,函数内部的p并不是传入的指针本身,而是指针的一个拷贝。如果仅仅是修改指针指向对象的内容,是没有问题的,但如果要将指针指向一个新的对象,那么这里就只是这个拷贝的指针指向的对象变了,而原来的指针还是指向原来的对象。
所以在函数内有可能要修改指向指向的时候,需要用指针的引用