可能重复:
Why use pointers?
我知道什么是C ++&确实。但它可以用于什么?
答案 0 :(得分:4)
&
用于将参数(指针)的地址传递给函数,当它在调用站点使用时。&
用于通过引用函数传递参数,当它在函数参数列表中使用时。&
是按位AND
。例如(a & b)
&
用于逻辑AND
。在这种情况下,两个&
生成逻辑AND
。例如(a && b)
。答案 1 :(得分:0)
例如,将指向对象的指针传递给某个函数。
答案 2 :(得分:0)
STL或其他常用库中的许多函数都需要指向对象的指针(而不是对象本身)。此外,很多时候你会想要传递指针。当您需要时,&
运算符允许您获取指向您有权访问的任何对象的指针。
浏览boost
库并找到一些。一个例子:
template<class Y> explicit shared_ptr(Y * p);
要传递指向Y
的指针,您必须使用&
运算符。
此外,您的个人资料显示您正在进行三维游戏。我所知道的几乎每个C ++ 3d库都使用浮点数或整数数组的指针来操纵一切。您需要&
运算符来传递指向这些数组的指针。