当前位置: 首页 > news >正文

c++学习(四、引用)

目录

一、引用的基本语法

二、引用做函数参数

三、引用做函数的返回值

四、常量引用


参考链接:06 C++中的引用-引用的基本语法_哔哩哔哩_bilibili

一、引用的基本语法

引用的本质是一个指针常量,但是调用的时候编译器有其他的处理,所以不用加一个*。

1.既然是指针,修改一个另外一个也会发生改变。

2.既然是指针常量,那么一旦初始化之后就不可以更改,这个很正常,因为比如c现在是一个指针常量,我怎么修改它的指向呢,直接c = xxx,这会自动被编译器识别是值的变化,如果是&c没有这个语法。

二、引用做函数参数

三、引用做函数的返回值

1.不能返回函数内部的局部变量,因为函数执行结束之后,这个变量的内存就被回收了,但是却返回了这个内存,所以当访问这个内存的时候,相当于调用了野指针,就会内存报错。

2.返回值是静态变量,一切正常

    int &c = test();
    std::cout<< c  << std::endl;

    test() = 100;
    std::cout<< c << std::endl;

3.引用可以作为左值,只要理解引用的本质是一个指针常量,其实这1,2,3都容易理解。

    int &c = test();
    std::cout<< c  << std::endl;

    test() = 100;
    std::cout<< c << std::endl;

四、常量引用

当引用作为函数的参数的时候,希望可读而不可写,使用这种方式

http://www.lqws.cn/news/562753.html

相关文章:

  • ClickHouse基础知识
  • 【编译原理】期末
  • 14-C#的弹出的窗口输入与输出
  • 在C++中#pragma“可选预处理指令的作用“。
  • C++泛型编程1 - 函数模板
  • PyQtNode Editor 第三篇创建节点(节点的定义)
  • 电子电气架构 --- 车辆产品的生产周期和研发周
  • 路由器对不同数据帧的处理
  • WebRTC(十一):RTCP和SRTCP
  • 黑客入门 | 用ROP和shellcode攻击SolarWinds Serv-U SSH漏洞
  • 【云桌面容器KasmVNC】如何关闭SSL使用HTTP
  • Pycatia二次开发基础代码解析:面属性控制、视图定向与特征统计的工业级实现
  • HashMap 和 ConcurrentHashMap的区别
  • 数据结构之——顺序栈与链式栈
  • 【图像处理基石】什么是摄影的数码味?
  • Redis—主从复制
  • 跟着AI学习C#之项目实战-电商平台 Day5
  • pandas 优雅处理值类型为list的列的csv读写问题
  • Day45 Tensorboard使用介绍
  • 《垒球百科》垒球有多重·垒球1号位
  • 在 RT-Thread 中实现 Shell 控制台的设计与源码剖析
  • C++入门(笔记)
  • MySQL 索引 -- 磁盘,主键索引,唯一索引,普通索引,全文索引
  • AC自动机 多模式字符串匹配(简单版)
  • 马斯克的 Neuralink:当意念突破肉体的边界,未来已来
  • 嵌入式原理与应用篇---ARM
  • 深度学习量化数值类型
  • 机器学习——线性回归
  • 数据结构与算法学习笔记(Acwing 提高课)----动态规划·单调队列优化DP
  • Requests源码分析:底层逻辑