首页 > 代码库 > c++基础知识拾遗

c++基础知识拾遗

------------------<c++基础知识拾遗之&>---------------------------------


在C里面,&有几种意思


1、当两个连在一起的时候。&&。代表的是“并且”的意思
 例如a==1&&b==2.就是当a=1并且b=2的时候!


2、表示引用,例如int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名


3、&表示两种运算符,其中一种表示取值运算符,一种是按位与


(3.1)、取值运算符
int a=1;
int *p=&a; //其中&a表示的就是把a中的地址取出来,然后赋给指针变量,也就是说&a表示的是变量a在内存中的地址。你可以使用printf函数输出这个地址


(3.2)、按位与运算符
计算规则:如果两个数都都为真(或为1),其结果为真,如果两位数中有一位为假(或为0)者结果为假
比如a&b;表示把a和b进行二进制的按位与运算
比如8&10,其中8的二进制是0000 1000,而10的二进制是0000 1010,因此
      0000 1000(十进制8)
    & 0000 1010(10进制10)
结果为0000 1000(就是10进制的8)
因此8&10的结果为8

===================<c++基础知识拾遗之&>===================================


----------------------------------<||运算符从左向右,截断判断>----------------------------------------------------
// coutTEst.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include "iostream"


using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{




int  a  = 0;
int  b= 0;




if(((a =3) || (b=3)))
{
a++;
b++;
}


cout<<a<<endl;
cout<<b<<endl;
return 0;
}


//输出结果为4、1

========================<||运算符从左向右,截断判断>=============================


------------------------------------------<&&运算符从左向右,全部判断>------------------------------------------------
// coutTEst.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include "iostream"


using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{




int  a  = 0;
int  b= 0;




if(((a =3) && (b=3)))
{
a++;
b++;
}


cout<<a<<endl;
cout<<b<<endl;
return 0;
}
============================<&&运算符从左向右,全部判断>====================================