常引用,const引用的案例,以及常引用作函数参数
来源:互联网 发布:淘宝手机收藏链接地址 编辑:程序博客网 时间:2024/06/05 02:20
常引用就是只读引用,不能通过引用修改变量的值
用关键字const修饰:
//引用分为常引用和普通引用#include <iostream>using namespace std;//常引用作函数参数:int main(){ //普通引用 int a=10; int &b=a; b=20; cout<<"a="<<a<<"b="<<b<<endl; //常引用 int x=20; const int &y = x; //y=30;错误,因为为只读引用 //常引用,让变量拥有只读属性,不能通过y来修改x cout<<"y="<<y<<"x="<<x<<endl; //常引用的初始化 //1.用变量初始化常量引用 { int x1=20; const int &y1=x1;//用x1去初始化常引用 } //2.用字面量初始化常量引用 { const int a=10; //c++编译器将a放入符号表中 //int &m = 41; //普通引用,引用一个字面量,字面量没有内存地址,所以其别名,是错误的 const int &m=10;//引用就是给内存其别名,去多个门牌号 //偷偷的给m分配一个空间 } return 0; }
常量引用与普通引用的实例;
常量引用作函数形参
#include <iostream>#include <stdlib.h>using namespace std;//函数返回值作左值//指针的引用//回忆二级指针struct Teacher{ char name[20]; int age; };//在被调用函数获取资源//*p=&tp1//函数指针作参数:在被调用函数里面给指针分配内存void getTeacher(const Teacher &myt){ cout<<myt.age<<endl;//只能使用 // tmp->age=33; //不能修改 //p是实参的地址,*实参的地址 去间接的,去间接的修改实参的值 //将tmp的值赋给*p}int main(int argc,char *argv[]){ //实参的值为空,在栈区分配 tp1是一个地址。 Teacher t1; t1.age=23; //常引用让变量有只读属性 getTeacher(t1); //将地址的地址传入进去 return 0; }//const &e 相当于const int *const e;//普通引用相当于 int * const e1;//当使用常量(字面量)对const引用的进行初始化时,c++编译器会为常量分配空间;//使用字面量对const 引用初始化后,将生成一个只读变量。
阅读全文
0 0
- 常引用,const引用的案例,以及常引用作函数参数
- 常引用,const CString&,引用的效率
- const用法之常对象,常成员函数,常引用
- const常引用
- C++指针,引用,常引用作为函数的参数
- 引用---常引用型参数
- 引用作为函数参数和常引用作为函数参数
- 函数形参为什么使用const引用(常引用)
- 常引用(const reference)
- const引用(常引用)有感
- 一、C++ 引用、常引用、const
- C++(常)引用,const,指针引用
- 常引用
- 常引用
- 常引用
- 常引用(const type&)的特性及引用的本质
- [ 转]常引用,const CString&,引用的效率
- 对象的常引用
- windows10下的caffe框架的编译
- python爬虫爬取豆瓣电影榜单
- java
- Ai challenger 场景分类: 检查类别平衡
- 迷茫
- 常引用,const引用的案例,以及常引用作函数参数
- 基于梯度下降法实现线性回归算法
- Javascript学习心得一
- easyUI_执行tab窗口中的方法,sources源码中查看不到js代码
- c#--实例选号器--实现打印、序列化方式保存
- 使用OB缓存实现静态化
- tensorflow学习笔记二---k近邻分类器
- ElementaryOS 0.4快速配置工具
- 菊花台