zoukankan      html  css  js  c++  java
  • C++指针、引用、const

    int a = 3;
    int *p = &a;    //定义指针p指向变量a
    *p = 4;    //*p代表a的值
    
    int b = 5;
    p = &b;    //p指向变量b
    *p = 6;    //此时*p代表b的值
    
    int c[3] = {2,5,7};
    p = c;    //此时p是指向数组c的指针,具体指向数组的第一个元素,即(&c[0]/p/c)三种写法等价
    int a = 3;
    int &b = a;    //定义引用b为变量a的引用,即a的别名(可理解为a的“外号”)
    b = 6;    //给b赋值6即给a赋值6,此时a的值变为6
    
    引用经典用法:
    void ValueExchange(int &a,int &b)
    {
        int temp = 0;     
        temp = a;
        a = b;
        b = temp;
    }
    ValueExchange(a,b);     //调用函数实现值交换,和c语言指针相比,c++的引用显然更加简便
    const int a = 3;    //常量a = 3,const的含义即是被const修饰的值拒绝被修改
    
    const int *p;
    int const *p;    //两种写法等价,此时无法用*p来改变p指向的变量的值,因为*p被const所修饰
    
    int * const p;    //此时p只能指向一个变量,之后不能指向其他变量,因为p被const修饰
    
    const int &b;
    int const &b;    //两种写法等价,&b无法被修改,即b引用的变量无法被修改,常用于上面的值交换类型函数,保护传入的变量数据的安全,拒绝被函数内部修改
  • 相关阅读:
    sql笔记
    [ACTF2020 新生赛]Include
    [极客大挑战 2019]Http
    [极客大挑战 2019]Knife
    [极客大挑战 2019]Secret File
    [HCTF 2018]admin
    [极客大挑战 2019]Havefun
    [RoarCTF 2019]Easy Calc
    ascll码转化
    《逆向工程核心原理》笔记第一章到第十一章
  • 原文地址:https://www.cnblogs.com/james-lee/p/6819252.html
Copyright © 2011-2022 走看看