zoukankan      html  css  js  c++  java
  • C++ 学习-const&引用

    const:

    1、const关键字(常量必须进行初始化)

         const int MAX_VAL = 23;

         const int MIN_VAL=0;

    2、定义指向常量的指针(常量指针指向的内容是不可修改的)

         int a=10;

         const int *p=&a;

    3、定义指针常量(因为指针常量为一个常量,所以必须给他赋初值。虽然指针常量的值不能变,但是它指向的内容可改变)

         int b = 10;

         int  *const pb=&b;

    4、定义指向常量的常量指针(指向的对象不可改变)

         const int a = 10;

         const *const pb=&a;

    5、const vs #define:(尽量以const代替的define)

    (1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。 (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具体的类型,在编译阶段会执行类型检查。

    引用:(引用的时候必须进行初始化,引用跟某一变量绑定之后不能再绑定其他的变量)(变量才能使用引用)

    1、引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。以引用返回函数值,定义函数时需要在函数名前加& 用引用返回一个函数值的最大好处是,在内存中不产生被返回值的副本

    int a;

    int &refa=a;//引用

    2、引用VS指针

    1) 指针是一个实体,而引用仅是个别名;

    2)引用使用时无需解引用(*),指针需要解引用

    3)引用只能在定义时被初始化一次,之后不可变;指针可变

    4)引用不能为空,指针可以为空

  • 相关阅读:
    学习bn算法
    记录pytorch的几个问题
    Python: 你不知道的 super
    cmd里面怎么复制粘贴
    tensorflow的transpose
    应该做一个软件,直接把视频里面的英语,转换成字幕,然后翻译
    继续修改,爬虫贴吧,上次的每次只取一个图片.
    Deleting elements
    Map, filter and reduce
    List methods
  • 原文地址:https://www.cnblogs.com/lyp1010/p/11683634.html
Copyright © 2011-2022 走看看