C++学习之引用特性
来源:互联网 发布:淘宝刷单兼职91lingla 编辑:程序博客网 时间:2024/05/22 14:54
引用即给变量赋予一个别名,就像外号一样,我叫李晓明,外号小明,实际都是指李晓明这个人。
#include<iostream>using namespace std;int main(){//C++中的引用int a = 3;int &b = a;//引用要初始化b = 10;cout << a << endl;system("pause");//暂停程序return 0;}
程序的输出记过就是10,通过b的引用,将a的值改掉了。
结构体中的引用,
#include<iostream>using namespace std;typedef struct{int x;int y;}Coor; //坐标结构体int main(){//C++中的引用Coor c1;Coor &c = c1;c.x = 10;c.y = 20;cout << c1.x << "" << c1.y << endl;system("pause");//暂停程序return 0;}
指针类型的引用是最为复杂的。
格式为:
类型 *&指针引用名=指针;
#include<iostream>using namespace std;int main(){int a = 10;int *p = &a;int *&q = p;//引用指针*q = 20;cout << a << endl;system("pause");//暂停程序return 0;}
引用作函数参数,在C语言中有一个例子。
void fun(int*a, int*b)//完成交换功能{int c = 0;c = *a;*a = *b;*b = c;}//调用时int x = 10, y = 20;fun(&x, &y);
可以看出,在函数调用时,要写成取地址(&)x和取地址y。如果用引用的形式的话。
void fun(int &a; int &b){int c = 0;c = a;a = b;b = a;}int x = 10, y = 20;fun(x, y);
那么,引用和指针实际上都是对内存直接进行操作,他们有什么去区别和练习呢。
指针是某块内存的地址,而引用是某块内存的别名。
区别:
1. 指针是一个实体,而引用只是个别名;
2. 指针需要用*才能操作,引用不需要;
3. 引用需要初始化,在初始化后不能改变,而指针的初始化不是必须的,且可以改变;
4. 引用没有const,指针可以有const;
5. 引用不能为空,指针可以为空;
6. sizeof()操作,对指针来说是定长,而对引用来说是其数据类型的size;
7. 指针的++和引用的++操作也是不一样;
8. 指针需要为其分配内存,而引用不需要,因为是对已有的内存的引用。
0 0
- C++学习之引用特性
- 《C++特性》之引用类型
- C++ : :新特性之引用
- 一步一步学习C++(类)之成员函数的特性
- 【C++】 引用学习
- C++Primer 学习笔记之指针和引用
- Java8 新特性之三---------方法引用
- 详解Java8特性之方法引用
- Java8新特性之三方法引用
- JDK8新特性之方法引用
- Ndk学习之JNI全局引用和局部引用(java->c->java)
- C++学习之引用
- C++学习之引用
- C++学习之引用
- Objective-C特性之instancetype
- C++Primer读书笔记之引用
- c之引用作为参数
- 引用“子非鱼”的文章(关于C#Attribute(特性))
- 开始写博客
- Linux多线程与进程之间通信 实例2
- ScroListView
- 最长递增子序列
- PReLU:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification 笔记
- C++学习之引用特性
- 虚函数(virtual function)
- 机房重构之七层登录
- CentOS7 yum 安装git
- HTML
- 电话拨号器,短信发送器
- iOS 获取当前IP地址
- CakePHP 3.2 数据库访问和ORM篇
- mongodb集群搭建