C++初始化和引用

来源:互联网 发布:js concat函数 编辑:程序博客网 时间:2024/05/16 03:40

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一看似乎不能快速理解其类型,正确方式应从右往左看,先是&表示引用,再*表示指针,合起来就是指针的的引用


0 0