C++初始化和引用
2015-10-25 15:26
316 查看
C++几种初始化的方式:
引用:相当于为对象取了另外一个名字,即别名。引用只能绑定到对象上,而不能与字面值和表达式的结果绑定到一起
1
指向指针的引用:指针本身是一个对象,所以可以引用。但引用本身不是一个对象
关于p1一看似乎不能快速理解其类型,正确方式应从右往左看,先是&表示引用,再*表示指针,合起来就是指针的的引用
#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++ 9度题目号1512
- C/C++专项练习 (四)
- [C++] Lvalue and Rvalue Reference
- 通过重载new与delete运算符避免向系统重复申请内存从而提高程序运行效率的办法
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- 有趣的C语言小程序
- * &
- 关于c语言指针的学习总结1
- 找到数组中重复的和丢失的元素
- C语言<四> 函数与程序结构
- 有效的括号序列(LintCode)
- Heap(堆)学习——C语言描述
- 【转】C语言编程中static变量详解
- C++primer学习:重载运算(1)
- C/C++专项练习 (三)
- C/C++专项练习 (二)
- 使用 Android NDK 的交叉编译工具链移植 C/C++ 项目到安卓平台
- C++STL学习(10)STL算法(1)
- c语言之野指针理解
- 【C语言】 提取子字符串