地址运营商意味着什么。
在下面的方法中说。
应该在方法中传递什么作为整数的参数值或整数变量的地址。
void func1(int&)// method declaration
void func1(int& inNumber)//method definition
{
//some code
}
答案 0 :(得分:11)
那不是地址运算符 - 它是引用类型字符。这意味着,对于任何类型T
,T&
都是对T
的引用。巧合的是,这恰好与地址运营商的角色相同。
您可以将普通对象传递给此方法。无需采取任何进一步行动。阅读你最喜欢的C ++书中的参考文献。
答案 1 :(得分:3)
代码中没有address-of运算符 - &符号用于声明引用。你使用哪种C ++教科书不包括这个?
答案 2 :(得分:0)
在这种情况下,该函数引用一个由int &inNumber
表示的int。
调用该函数就像使用值<:p>调用它一样
int x = 2;
func1(x);
从调用者的角度来看,这看起来与通过值函数完全相同,但在引用的情况下,函数可能确实改变了x的值。
答案 3 :(得分:0)
那不是地址运营商。在声明中,&
表示它是引用。
您可以将引用视为不需要取消引用的指针。*您只需说inNumber = 5;
(而不是*inNumber = 5;
),效果将在函数外部显示。
*注意:引用不只是“您不必取消引用的指针”。有时,以这种方式思考它们会很有帮助。
答案 4 :(得分:0)