声明:以下内容B站/Youtube学习笔记,https://www.youtube.com/user/BoQianTheProgrammer/ Advanced C++.

 /*
why use const
a)Guards against inadvertent write to the variable
b)Self documenting
c)Enables compiler to do more optimization,making code tighter,faster
d)const means the variable can be put in ROM
*/
//const
// A compile time constraint that an object can not be modified int main()
{
const int i = ;
//i = 7; wrong
//如何修改i的值呢?
const_cast<int&>(i) = ; int j;
static_cast<const int&>(j) = ;//wrong,此时j被转成const const int *p1 = &i;//data is const,pointer is not
p1++;
int * const p2;//pointer is const,data is not
const int* const p3;//data and pointer are both const int const *p4 = &i;
const int *p4 = &i;
//If const is on the left of *,data is const
//If const is on the right of *,pointer is const
}

C++进阶:新人易入的那些坑 --1.常量、常指针和指针常量的更多相关文章

  1. Java日期处理易踩的十个坑

    前言 整理了Java日期处理的十个坑,希望对大家有帮助. 一.用Calendar设置时间的坑 反例: Calendar c = Calendar.getInstance(); c.set(Calend ...

  2. Java语言中的这些知识点有没有用过,工作中有没有入过这些坑?

    在Java语言中,有一些相对生僻的知识,平时用的机会可能不是很多,但如果不了解不掌握这些知识点的话,也可能会掉入陷阱之中,今天我们就来初步梳理一下: 1. goto是java语言中的关键字. &quo ...

  3. 网易云课堂_C语言程序设计进阶_第二周:指针:取地址运算和指针、使用指针、指针与数组、指针与函数、指针与const、指针运算、动态内存分配_2信号报告

    2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一 ...

  4. 【转】 C++易混知识点2. 函数指针和指针函数的区别

    我们时常在C++开发中用到指针,指针的好处是开销很小,可以很方便的用来实现想要的功能,当然,这里也要涉及到指针的一些基本概念.指针不是基本数据类型,我们可以理解他为一种特殊类型的对象,他占据一定空间, ...

  5. gulp入坑系列(1)——安装gulp

    前言   好吧,我承认我是为了搞定Sass编译CSS文件的问题,迷一样的着手入gulp的坑,sass和gulp的爬坑历程大概会一起更新.然后感觉这里windows和mac的流程差不多,不过mac的通常 ...

  6. Rust入坑指南:常规套路

    搭建好了开发环境之后,就算是正式跳进Rust的坑了,今天我就要开始继续向下挖了. 由于我们初来乍到 ,对Rust还不熟悉,所以我决定先走一遍常规套路. 变不变的变量 学习一门语言第一个要了解的当然就是 ...

  7. 分水岭 golang入坑系列

    第三式开篇语有些负面, 所以这里就不贴了.有兴趣的自己可以去看看 https://andy-zhangtao.gitbooks.io/golang/content/ .怒发冲冠,意气之作.看完就完了, ...

  8. python 高级部分精华--那些书本不会告诉你的坑

    递归目录生成器方式, else 里的 tmp 显示获取 yield 不可缺少 , 递归算法中若要使用生成器,需要在生成器的原函数(首次调用)显式得到所有yield值 def get_file_recu ...

  9. Unity 的OCulus VR开发遇到的坑---OC版本差异

    我作为Unity新人,没有用过Unity5之前的任何版本,不熟悉任何操作.所以,就根据官方推荐,使用了5.1.1版本,然后根据官方版本对应推荐,果断选择下载了PC端的OC的0.6.0.1版本,对应的U ...

随机推荐

  1. Arduino常用的数据类型以及转换

    常用的数据类型有布尔类型.字符型.字节型.整型.无符号整型.长整型.无符号长整型.浮点型.双精度浮点型等 布尔类型bollean: 布尔值是一种逻辑值,其结果只能为真(true)或者假(false). ...

  2. mysql 8.0~MGR多成员读一致性

    一 背景:当在读节点多成员查询时可能导致数据不一致 二 三种场景   1 读多写少  AFTER    2 读写相当  AFTER_AND_BEFORE   3 读少写多  BEFORE三 数据不一致 ...

  3. cv::Mat类之type成员

    CV_8UC3 -->16 CV_8UC3 表示存储元素的数据类型为 8bit unsigned char 类型,通道数C = 3 为什么OpenCV中type为CV_8UC3的图像 输出其ty ...

  4. dotnet core使用开源组件FastHttpApi进行web应用开发(转)

      FastHttpApi相对于asp.net mvc来说有着更轻量和性能上的优势,性能上面就不在这里介绍了(具体可查看 https://github.com/IKende/FastHttpApi). ...

  5. 在虚拟机里连接PLC S7-200

    1-使用PPI线连接 这次选择了在虚拟机里面来调试PLC,s7-200的型号是214-2AD23-0XB8 ,连接线是在淘宝上卖的(连接),在虚拟机里面试的时候没有反应,如下 在设备管理器里面观察,在 ...

  6. idea中classpath的问题

    新创建的项目,在web.xml中配置 Spring MVC 的 DispatcherServlet,,指定springmvc.xml,结果这部分出错,请求的时候报错 结果查找,发现在Idea中,cla ...

  7. VMware对虚拟机快照进行克隆

    1.在关机状态下做一个快照 2.把快照管理器打开 3.右键快照,选择“克隆此快照” 4.选择要克隆的快照 5.选择克隆的方式 6.设置名称及保存的位置 注:虚拟机的快照是开机状态,不能对快照进行克隆

  8. python读取uti-8格式ini配置文件出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xba in position 367: illegal multibyte sequence错误解决方法

    出现这种错误只需要在read下添加encoding='utf-8' 如: from configparser import ConfigParser cf = ConfigParser() cf.re ...

  9. C++的变量初始化

    C++中变量的初始化有很多种方式,如:默认初始化,值初始化,直接初始化,拷贝初始化,列表初始化. 1.默认初始化:默认初始化是指定义变量时没有指定初值时进行的初始化操作. 如:int a:这些变量被定 ...

  10. 通过GIT_COMMIT进行代码回滚

    首先需要安装插件:conditional-buildstep A buildstep wrapping any number of other buildsteps, controlling thei ...