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对象"成为可能.这对编写高效代码是个关键.

  • 相关阅读:
    edgedb 内部pg 数据存储的探索 (四) 源码编译
    edgedb 内部pg 数据存储的探索 (二) 创建数据库命令说明
    edgedb 内部pg 数据存储的探索 (三) 源码包setup.py 文件
    python 集成cython && push 测试pip 仓库
    python 集成cython 简单测试
    click python cli 开发包
    转载一篇阿里云Terraform 开发指南
    zabbix 4.2 支持 timescledb 了
    edgedb 内部pg 数据存储的探索 (一)基本环境搭建
    Podman and Buildah for Docker users
  • 原文地址:https://www.cnblogs.com/qianqiannian/p/6416310.html
Copyright © 2011-2022 走看看