#include<iostream.h>
#include<stdio.h>
int main()
{
int i = 0;
int const& j = i;
int & const t = i;
const int& m = i;
i = 3;
printf("j = %d m = %d t = %d i = %d &j = %d &m = %d &t = %d",j,m,t,i,&j,&m,&t);
getchar();
}
gcc编译结果:
int & const t = i; 不通过
#include<iostream>
#include<stdio.h>
int main()
{
int i = 0;
int const& j = i;
//int & const t = i;
const int& m = i;
i = 3;
j=4;
m=5;
printf("j = %d m = %d i = %d &j = %d &m = %d ",j,m,i,&j,&m);
getchar();
}
gcc编译通不过语句:
i
= 3;
j=4;
#include<iostream>
#include<stdio.h>
int main()
{
int i = 0;
int const& j = i;
//int & const t = i;
const int& m = i;
i = 3;
printf("j = %d m = %d i = %d &j = %d &m = %d ",j,m,i,&j,&m);
getchar();
}
输出:
int const &
j = i说明j是int i的常量引用,所以这里就是说i的值是不可以用t来改变的。但是,因为i是变量所以可以改变自生的值,而t是变量i的引用所以她只引用变量i的值,所以当然是i变化后的值。