浏览器标题切换
浏览器标题切换end

C++ - 引用基本用法

正好准备面试,顺便复习一下指针和引用,这俩在比赛中用的比较少。

简单来说,引用符号是 & ,变量前加了这个符号,可以在我们修改形参的时候同时改变实参的值。因为一般的话,实参传值之后,实参是实参,形参是形参,除非做了return等操作。

引用用法

#include <iostream>
using namespace std;

void cal(int &z)
{
    z*=5;
}

int main()
{
    int a,&b=a;  // 声明简单的变量,声明引用变量(这俩可以写一行)
    a=5;
    cout<<"i = "<<a<<endl; //i = 5
    cout<<"r = "<<b<<endl; //r = 5

    b=4;
    cout<<"a = "<<a<<endl; //a = 4
    cout<<"b = "<<b<<endl; //b = 4

    int x=4;
    cout<<"******"<<x<<endl; //******4
    cal(x);
    cout<<"------"<<x<<endl; //------20

    return 0;
}

C++引用和指针的区别

  • 引用:必须被初始化,值不能为NULL,初始化以后不能被改变,只能是一级

  • 指针:不用初始化,值可以为空,初始化以后可以改变所指的对象,可以有多级,可以作为参数进行传递

  • C++中尽量用引用。个人觉得所有的引用都可以用指针,但指针比引用容易出错

  • 引用当然更直观更直接,做参数时,如果在函数内不刻意要用指针的那些副作用(如越界访问,动态定向什么的)

  • 指针:是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元。可以有const指针,但是没有const引用

  • 引用:跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已

  • "sizeof引用"得到的是所指向的变量(对象)的大小,而"sizeof指针"得到的是指针本身的大小

  • 指针和引用的自增(++)运算意义不一样

posted @   抓水母的派大星  阅读(205)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2020-03-16 寒假Day53:Codeforces519B-水题
2020-03-16 寒假Day52:Codeforces270A-Fancy Fence-简单多边形公式变形
点击右上角即可分享
微信分享提示