C++几种初始化的方式:
#include<iostream>
int main()
{
int a=0;//直接用等号初始化
int b={1};//用等号和花括号
int c{2};//直接用花括号
int d(3);//直接用括号
std::cout<<a<<b<<c<<d<<std::endl;
return 0;
}
打印:0123
引用:相当于为对象取了另外一个名字,即别名。引用只能绑定到对象上,而不能与字面值和表达式的结果绑定到一起
#include<iostream>
int main()
{
int a=0;
int &a1=a;
//int &a2;错误,引用必须被初始化
//int &a3=10;错误,只能与对象绑定
std::cout<<a1<<std::endl;
a1=1;//改变引用的值
std::cout<<a1<<std::endl;
return 0;
}
打印:0
1
指向指针的引用:指针本身是一个对象,所以可以引用。但引用本身不是一个对象
#include<stdio.h>
int main()
{
int a=1;
int *p=&a;
int *&p1=p;
std::cout<<*p1<<std::endl;
return 0;
}
打印:1
关于p1一看似乎不能快速理解其类型,正确方式应从右往左看,先是&表示引用,再*表示指针,合起来就是指针的的引用