C++ 学习记录3 --引用
来源:互联网 发布:影子网络怎么进入 编辑:程序博客网 时间:2024/04/30 13:36
C/C++ 禁止在函数调用时直接传递数组的内容,而是强制传递数组指针
引用(Reference)是 C++ 相对于C语言的又一个扩充。引用可以看做是数据的一个别名,通过这个别名和原来的名字都能够找到这份数据。
type &name = data;
type 是被引用的数据的类型,name 是引用的名称,data 是被引用的数据。引用必须在定义的同时初始化,并且以后也要从一而终,不能再引用其它数据,这有点类似于常量(const 变量)。注意,引用在定义时需要添加&
,在使用时不能添加&
,使用时添加&
表示取地址。
- #include <iostream>
- usingnamespace std;
- int main(){
- int a = 99;
- int &b = a;
- cout<<a<<", "<<b<<endl;
- cout<<&a<<", "<<&b<<endl;
- return0;
- }
所以 如果 b = 10 . 再打印的话 a 也为10.
如果不希望通过引用来修改原始的数据,那么可以在定义时添加 const 限制,形式为:
const type &name = value;
也可以是:type const &name = value;
- //按引用传参
- void swap3(int&a,int &b){
- int temp = a;
- a = b;
- b = temp;
- }
注意:使用指针必须先检查它的合法性。void print_i (int * p ){if(p){printf("%d",*p)}} 即检查指针p是不是NULL。
引用和指针的区别。1.指针可以指向NULL。引用必须指向具体对象。2.指针声明时可以不初始化,引用必须初始化。3.指针可以改变指向的内容,引用不能改变指向的对象。
引用还不是很明白。。。。。
0 0
- C语言学习记录 引用传递
- C++ 学习记录3 --引用
- c++primer学习记录(2)——引用,指针
- 【C++】 引用学习
- C 学习记录 出错记录
- C指针学习记录
- C语言学习记录
- Objective-C 学习记录
- c 学习记录 一
- c 指针学习记录
- Objective-C 学习记录
- C语言学习记录
- c学习记录
- C语言学习记录
- Objective-C学习记录
- C语言学习记录
- 学习记录 c/c++
- c学习记录
- php5.0到5.6的新特性,开发时应注意版本的兼容性
- 3.1产品经理数据分析
- 简单的排序--冒泡、选择、插入
- c语言--union
- 每天一个Linux命令(33):df命令
- C++ 学习记录3 --引用
- springmvc validator
- storm 连kafka报错
- 二叉树
- VC++ CTabCtrl控件自定义宏使用例子
- as中生成jniLibs目录
- OJ:多重集的插入和删除
- HTTP在.NET中的一些应用和解析
- Tensorflow的Protocol Buffers3编程(一)