&的应用主要有以下3种:
1:按位与
2:给指针赋值时取地址
3:引用操作
C++中的运算方法:
《1》按位与“&”:都是1才为1,否则为0;(与1相与数值不变,0相与数值变为0)
《2》按位或“|”:都是0才为0,否则为1;(与0相或数值不变,与1相或数值变1)
《3》按位异或“^”:相同为0,不同为1;(与0异或数值不变,与1异或数值相反)
《4》按位取反“~”:eg:~1=1111 1111 1111 1110
《5》流运算“<<”“>>”:“<<”表示左移,右补0;(×2)
“>>”表示右移,若为正数,左补0,若为负数,左补1(÷2)
《6》无符号右移运算“>>>”:向右移,左补0;
注:不同长度进行按位运算时,if短的是正数,左边补0;if短的为负数,左边补1;if是无符号数,则左边补0;
取地址操作:
给指针赋值是要用到&来提取参数的地址。eg:int b=1;int * a=&b;
引用:
引用实质上是给参数另外起一个名字,eg:int b=1;int & a=b; 第一a不需要占用新的内存空间,第二对a进行操作等同与对b进行操作。基于这两个特点,我们在一些情况下用引用会比较合适。