参数中的&位置

时间:2019-02-11 22:07:21

标签: c++ reference

我是C ++的新手,正在学习引用运算符及其工作方式。运算符&的位置是否在变量的前面还是后面会有所不同?例如:

subscriptionTier1

这是要在源代码中使用的Header文件,我只是想了解它

MenuCalories&
&MenuCalories

我假设class MenuCalories { private: unsigned int* calories; size_t num; public: // constructors (default, one arg, and copy) MenuCalories(); MenuCalories( unsigned int numberOfMenuItems); MenuCalories( const MenuCalories& original); // destructor ~MenuCalories(); // Member function int calorieAtIndex( int index ); }; 的内容将不会改变,但知道原始内容是什么。

2 个答案:

答案 0 :(得分:0)

&令牌有两个用途,一个用于创建引用变量,第二个用于获取变量的内存地址。 在分配LHS上使用时,例如 int&a = b; 然后创建对变量b的引用。在函数签名中使用它时,它会解释相同的内容。 无效的乐趣(int&b); 在分配的RHS中使用&时,它将给出变量的地址。喜欢 int * p =&q;

&运算符用于变量的前面,并根据其出现的语句传达其含义。

答案 1 :(得分:0)

&令牌用于三个目的,一个用于创建引用变量,第二个用于获取变量的内存地址,第三个用作按位AND运算符。

&放在数据类型之后,表示我们正在创建相同类型的引用类型变量。在这里,它用作类型修改器。 例如:int&b = a;或作废func(int&b);

在分配的RHS中使用&时,它将给出变量的地址。喜欢 int * p =&q;

&运算符用于变量的前面,并根据其出现的语句来传达其含义。将其放在变量名之后没有任何意义。