const 限定符

const 对象一旦创建后不可改变,所以const必须初始化.

const int i=get_size(); //运行时初始化

const int j=43;

const int k; //错误,必须初始化

默认状态下,const对象仅在文件中有效,解决办法是

对于const变量不管是声明还说定义都添加extern关键字extern const int bufSize=fcn(); //该常量能被其他文件访问

extern const int bufSize;//为同一个

下面那些句子是合法的,如果有不合法的句子,请说明为什么.const int buf; //必须初始化

int cnt=0; //正确

const int sz=cnt; //正确,拷贝赋值

++cnt; //正确

++sz; //常量对象不可改变

const 引用

引用绑定在const对象上,称为const引用const int ci=1024;

const int &r1=c1; //引用及对应的对象都是常量

const 指针const double pi=3.14;

const double *cptr=&p1;

顶层const

顶层const:指针本身是个常量int i=0;

int *const p1=&i; //不能改变p1的值,是顶层const

底层const:指针指向的对象是个常量const *int p2=&i; //可以改变p1的值,是底层const

const int &r=p; //用于声明引用const都是底层const

constexpr 和常量表达式

常量表达式是指值不会改变并且在编译过程就能得到技术按结果的表达式const int m=20; //常量表达式

const int j=m+1; //常量表达式

constexpr

将变量声明为constexpr类型一边由编译器来验证变量的值是否是一个常量表达式constexpr int mf =20; // 20是常量表达式

constexpr int l=mf+1 //mf+1是常量表达式

constexpr int sz=size(); //只有当size是一个constexpr函数时才是一天正确的声明语句

指针和constexpr仅对指针有效,与指针所值的对象无关const int *p =nullptr;

constexpr int *q =nullptr;//q是指向整数的常量指针

php+条件限定符,const 限定符相关推荐

  1. C语言中的类型限定符.const限定符

    目录 1.1const限定符 1.1.1const限定符修饰普通对象 1.1.2const限定符修饰数组元素 1.1.3const限定符修饰指针类型对象 1.1.4const限定符修饰函数形参类型为数 ...

  2. 【C++学习笔记】复合类型和const限定符

    一.复合类型   复合类型(compound type)是指基于其他类型定义的类型.本次主要介绍引用和指针两种. 1.1 引用   引用(reference)为对象起了另外一个名字,引用类型引用(re ...

  3. 指针和Const限定符

    指针和Const限定符 1.指向const对象的指针 如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针具有const特性. const d ...

  4. C++primer :const限定符

    1.问题引入 <span style="font-size:18px;"><span style="font-size:18px;">f ...

  5. C++的const限定符

    const限定符总是让人很头疼,下面讲解一下几个比较容易混淆的概念: 对常量的引用(常量引用): 一般情况下,引用的类型要与其所引用的对象的类型一致,其中的例外情况就是,当初始化常量引用时,允许用任意 ...

  6. 指针、引用以及const限定符、constexpr限定符

    文章目录 复合类型 引用 概念与使用 引用的定义 注意 指针 概念 声明方式 取地址符 指针值 空指针 利用指针访问对象 赋值和指针 void* 指针 指向指针的指针 指向指针的引用 初始化所有指针 ...

  7. C++primer第二章2.4节对于const限定符相关内容进行详解

    const限定符 const对象一旦创建后其数值就不会被再次改变,因此const对象必须初始化. const对象只在文件中有效 在不同的文件中使用不同的const来定义不同的常量,那么每个文件定义的变 ...

  8. C++ const限定符和auto类型说明符

    const限定符 # 1.限定常量 有时我们希望定义这样的变量:它的值不能被改变.为了满足这一要求,我们使用const对变量的类型加以限定: const int bufSize = 512; 这样就把 ...

  9. c++ const限定符

    const限定符 const对像一旦创建,其值就不能发生改变.const对象必须初始化 const int i = get_size();//正确,运行时初始化. const int j = 1;// ...

最新文章

  1. 四川大学计算机学院录取,四川大学计算机学院2018年硕士研究生招生拟录取名单及成绩公示...
  2. 超炫酷的枪械3D动图,喜欢的不得了!
  3. sae 本地环境 mysql数据库_SAE本地环境与真实环境的差别
  4. linux二进制安装包制作,linux下二进制安装包的创建
  5. 后台性能测试不可不知的二三事
  6. 双击计算机桌面误删,手提电脑双击界面自动删除是哪里问题
  7. Fission:基于 Kubernetes 的 Serverless 函数框架
  8. 解析WINDOWS中的DLL文件---经典DLL解读
  9. Oracle数据库sql语句空字段筛选方法,sql语句值为空判断方法
  10. HTML <thead> 标签
  11. 密码找回、带星号密码查看解决方案
  12. IDEA单机,双人五子棋
  13. 谷歌退出中国谁对谁错
  14. Windows xp最实用的技巧,让你的电脑运行更快。
  15. 华为路由器显示连接到服务器失败怎么办,华为路由WS5200可以搜到wifi但无法连接怎么办...
  16. 【操作系统⑧】——信号量与PV操作(下)【哲学家进餐问题 AND型信号量 信号量集机制】
  17. 法线向量如何归一化(Normalize)
  18. MLE, MAP and LSM
  19. 苹果手机计算机报不了名,iPhone8无法连接电脑并且不弹出信任对话框怎么办?...
  20. R语言——如何调用自己写的函数

热门文章

  1. OpenCV cvLine
  2. 一个最简单的Makefile例子(转)
  3. Linux环境进程间通信(五): 共享内存(上)
  4. 多线程 调用 axis 报错_java笔记录(三、多线程)
  5. AUTOSAR从入门到精通100讲(二)-SOME/IP及其应用
  6. qt linux webservice,Qt实现访问WebService
  7. jQuery.ajax success 与 complete 区别
  8. css之hover改变子元素和其他元素样式
  9. type=file文件上传H5新特性
  10. 【RabbitMQ】2、心得总结,资料汇总