C++初始化和引用
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一看似乎不能快速理解其類型,正確方式應從右往左看,先是&表示引用,再*表示指針,合起來就是指針的的引用
?
總結
- 上一篇: 一个小程序看流的读取
- 下一篇: C++中的const