zoukankan      html  css  js  c++  java
  • Const的使用

      const意味为readonly,即只读,const可被施加于任何作用域内的对象,函数参数,函数返回类型,成员函数本体

      使用:  const修饰变量时本质是 const在谁后面谁就不可修改,const在最前面则将其后移一位即可,二者等效,*号也算一种数据类型

      例如:

      1.  const int a; 与 int const a 同义; 此时a是一个常整型数

      2.  const int *a; 此时a是一个指向常整型数的指针,即指向的整型数是不可修改的,但指针可以被修改指向其他的内存地址

      3.  int * const a;此时a是一个指向整型数的常指针,即指向的整型数是可以修改的,但指针不可修改

      4.  int const *a const;此时a是一个指向常整型数的常指针,即指向的整型数与指针都不可以修改

      诀窍:  如果关键字出现在*左边,表示被指物是常量;如果出现在*右边,表示指针自身是常量;如果出现在*两边,表示被指物与指针本身都是常量

      const 最具威力的用法是面对函数声明时的应用,在一个函数声明式内,const可以和函数返回值,各参数,函数自身(如果是成员函数)产生关联

      令函数返回一个常量值,往往可以降低因客户错误而造成的意外,而又不至于放弃安全性和高效性

      如: const Rational operator* (const Rational& lhs, const Rational& rhs);

      将const施加于成员函数的目的,是为了确认该成员函数可作用于const对象身上.这一类成员函数之所以重要,基于两个理由.

        第一,它们使class接口比较容易被理解.这是因为,得知哪个函数可以改动对象内容而哪个函数不行,很是重要.

        第二,它们使"操作const对象"成为可能.这对编写高效代码是个关键.

  • 相关阅读:
    python json模块出现Invalid control character这个异常的原因
    KMS服务,使用命令激活windows/office
    vscode Python文件头部信息
    MIMIC-III Clinical Database 翻译
    autohotkey 设置
    DeepLearning 写代码常用
    VScode 个人设置
    随机种子设置
    samba配置
    jieba 分词不显示日志
  • 原文地址:https://www.cnblogs.com/qianqiannian/p/6416310.html
Copyright © 2011-2022 走看看