转载:http://blog.csdn.net/willian0621/article/details/12838157
1、int;
int是C++关键字,表示整型,其大小是32位有符号整型,表示的范围是-2,147,483,648 到 2,147,483,647;在声明和定义变量时使用,它表示的意思是所声明或所定义的变量为整型变量。如果其用于函数参数时,其传递方向为值传递,即只能将实参的值传递给形参,而不能将形参的值传递给实参。
例如:swap函数,通过这种方式去进行交换两个数是无法达到目的的。
#include<iostream>
using namespace std;
void swap1(inta,intb)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
int main(){
int a = 1;
int b = 2;
swap1(a, b);
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
system("pause");
return0;
}
using namespace std;
void swap1(inta,intb)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
int main(){
int a = 1;
int b = 2;
swap1(a, b);
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
system("pause");
return0;
}
结果为:a=1 b=2
因为传递的方式为值传递(单向传递);
2、int&;
这里的&不是取地址符号,而是引用符号,引用是C++对C的一个重要补充。变量的引用就是变量的别名,讲的通俗一点就是另外一个名字,比如:“张三这个人在家里,老爸老妈叫他三娃子,那么这个三娃子就是指张三这个人,如果叫张三去做某事,就是叫三娃子去做某事,这两个名字指的是同一个人。”同样可以理解如果变量b是变量a的引用 那么无论a,b中任何一个值改变,另外一个也相应的改变,在声明一个引用时,
必须同时使之初始化,即声明它代表哪一个变量。
请注意:由于引用不是独立的变量,编译系统不给它单独分配存
储单元,因此在建立引用时只有声明没有定义,只是声明它与原有的某一变量的关系。在声明一个变量的引用后,在本函数执行期间,该引用一直与其代表的变量相联系,不能再作为其他变量的别名。说得简单点:张三和三娃子是指同一个人,不能李四也叫三娃子,如果可以这样,叫三娃子去做什么,是叫李四呢还是张三呢,这就会乱套了。所以在C++中一个引用变量只能对应一个原始的变量,不能对应两个或多个原始的变量;