C++ 学习记录3 --引用

来源:互联网 发布:影子网络怎么进入 编辑:程序博客网 时间:2024/04/30 13:36

C/C++ 禁止在函数调用时直接传递数组的内容,而是强制传递数组指针

引用(Reference)是 C++ 相对于C语言的又一个扩充。引用可以看做是数据的一个别名,通过这个别名和原来的名字都能够找到这份数据。

type &name = data;

type 是被引用的数据的类型,name 是引用的名称,data 是被引用的数据。引用必须在定义的同时初始化,并且以后也要从一而终,不能再引用其它数据,这有点类似于常量(const 变量)。

注意,引用在定义时需要添加&,在使用时不能添加&,使用时添加&表示取地址。

  1. #include <iostream>
  2. usingnamespace std;
  3. int main(){
  4. int a = 99;
  5. int &b = a;
  6. cout<<a<<", "<<b<<endl;
  7. cout<<&a<<", "<<&b<<endl;
  8. return0;
  9. }
结果是  a  b  数值一样,并且地址也一样。

所以 如果 b = 10 .  再打印的话   a 也为10.

如果不希望通过引用来修改原始的数据,那么可以在定义时添加 const 限制,形式为:

const type &name = value;

也可以是:

type const &name = value;

  1. //按引用传参
  2. void swap3(int&a,int &b){
  3. int temp = a;
  4. a = b;
  5. b = temp;
  6. }
swap3(3,4);


注意:使用指针必须先检查它的合法性。void print_i (int * p ){if(p){printf("%d",*p)}}   即检查指针p是不是NULL。

引用和指针的区别。1.指针可以指向NULL。引用必须指向具体对象。2.指针声明时可以不初始化,引用必须初始化。3.指针可以改变指向的内容,引用不能改变指向的对象。


引用还不是很明白。。。。。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 20岁胸下垂松软怎么办 断奶时乳房有肿块怎么办 孩子断奶后乳房变小怎么办 断奶了月经不来怎么办 钥匙在门上拔不出来怎么办 钥匙拔不下来了怎么办 养了几天鱼死了怎么办 乌龟的眼睛肿了怎么办 手被鱼刺扎了怎么办 被鱼刺扎手肿了怎么办 手被桂鱼扎了怎么办 三岁宝宝卡鱼刺怎么办 一岁宝宝卡鱼刺怎么办 鱼刺卡在胸口了怎么办 婴儿被鱼刺卡了怎么办 幼儿被鱼刺卡到怎么办 鱼刺被吞下去了怎么办 喉咙卡到鱼刺下不去怎么办 被小鱼刺卡了怎么办 晚上被鱼刺卡到怎么办 一个小鱼刺卡了怎么办 卡了一个小鱼刺怎么办 鱼刺卡在气管里怎么办 刺蛾幼虫 蛰了怎么办 被杨树辣子蛰了怎么办 蜇了老子蜇了怎么办 被刺蛾幼虫蛰了怎么办 孕妇被蚊虫叮咬发痒怎么办 白掌叶子尖发黄怎么办 白掌叶子卷了怎么办 白掌叶子全软了怎么办? 发财树有黄斑了怎么办 幸福树叶子蔫了怎么办 幸福树枝条塌了怎么办? 幸福树叶子嫣了怎么办 毒蚊子叮咬肿硬怎么办 被蚊子咬了很痒怎么办 蚊子咬了脚肿了怎么办 小孩被蚊子咬了怎么办 小狗老喜欢咬人怎么办 狗狗喜欢咬手怎么办