zoukankan      html  css  js  c++  java
  • 经典问题解析一

    关于const的疑问

    const什么时候为只读变量?什么时候是常量?

    const常量的判别准则

      只有用字面量初始化的const常量才会进入符号表

      使用其它变量初始化的const常量仍然是只读变量

      被volatile修饰的const常量不会进入符号表

    在编译期间不能直接确定初始值的const标识符,都被作为只读变量处理

    const引用的类型与初始化变量的类型

    相同:初始化变量为只读变量

    不同:生成一个新的只读变量

    关于引用的疑问

    指针是一个变量

      值为一个内存地址,不需要初始化,可以保存不同的地址

      通过指针可以访问对应内存地址的值

      指针可以被const修饰成为常量或者只读变量

    引用只是一个变量的新名字

      对引用的操作(赋值,取地址等)都会传递到代表的变量上

      const引用使其代表的变量具有只读属性

      引用必须在定义时初始化,之后无法代表其它变量

    从使用c++语言的角度来看

      引用与指针没有任何的关系

      引用时变量的新名字,操作引用就是操作对应的变量

    从c++编译器的角度来看

      为了支持新概念“引用”必须要一个有效的解决方案

      在编译器内部,使用指针常量来实现“引用”

      因此“引用”在定义时必须初始化

    在工程项目开发中

      当进行c++编程时,直接站在使用的角度来看待引用,与指针毫无关系,引用就是变量的别名

      当对c++代码进行调试分析时,一些特殊情况,可以考虑站在c++编译器的角度看待引用

    c++不支持引用数组!!!

    小结

    指针是一个变量

    引用是一个变量的新名字

    const引用能够生成新的只读变量

    在编译器内部使用指针常量实现“引用”

    编译时不能直接确定初始值的const标识符都是只读变量

  • 相关阅读:
    poj 1026 Cipher
    python中的global
    基于DL的文本分类综述
    K近邻算法学习
    聚类评价指标学习
    pytorch自动求导学习
    反向传播的推导
    二分搜索常用【转载】
    《Attention is all you need》论文学习
    5-28日|5-30日
  • 原文地址:https://www.cnblogs.com/sugarWill666/p/9064087.html
Copyright © 2011-2022 走看看