重新系统学习C++遇到的坑(系列二)(写了关于const和*(或&)的混合使用,该如何理解?)

本文深入探讨了C++中const与指针、引用的结合使用,包括const指针、const引用的概念和规则。强调了引用是对象的别名,必须初始化且一旦绑定不能更改,而const指针可以指向常量或非常量对象,但限制了通过指针修改对象的值。同时,介绍了常量指针和指向常量的常量指针的区别,并提醒读者理解变量类型的判断方法和使用auto关键字的注意事项。
摘要由CSDN通过智能技术生成

  • 类型unsigned int可缩写成unsigned

  • int、char、double这些内置类型,实际上可以看成int类类型、char类类型、double类类型,因为类设计的目的之一是让我们能像使用C++内置类型一样自然地使用类

  • 负数转换为无符号数,结果等于这个负数对无符号类型表示的数值总数(看这个无符号类型所占字节,即2的几字节次方)取模后的余数

  • 2的32次方=4294967296

  • -32转换为无符号整型数为4294967264(负数加上无符号整型数能表示最大值),-1转换为无符号整型数为4294967295!

  • ‘a’和"a"是不一样的,‘a’只有一个字符a,而"a"有两个字符,分别是’a’和空字符’\0’

  • 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。

  • 初始化每一个内置类型的变量

  • 全局作用域本身没有名字,所以如果想在块作用域(有和全局作用域的同名变量的话)访问全局作用域的同名变量,就这么写(也要会认):
    ::全局作用域的变量名

  • 最基本的一点:引用是为对象起了另外一个名字,且引用必须被初始化!

  • 定义引用(&),程序是把引用和它的初始值死绑一起,即不能让引用重新去和别的对象绑定,也不是将初始值拷贝给引用(初始化变量是把初始值拷贝给新建的对象中)

  • 对引用的所有操作都是对这个引用所绑定的对象的操作!
    如:

int ival = 1024;
int &refVal = ival;
refVal = 2;//即ival = 2;
int ii = refVal;//即 int ii = ival;
 
  • 最好用nullptr,比如int *p1=nullptr;这等价于int *p1=0;
  • 指针的值为0(控制之),则指针作为条件时,条件表达式取false,除此之外条件表达式都取true
  • 要理解一个变量(对象)的类型到底是什么,最简单的办法就是从右往左阅读这个变量的定义,离变量名最近的符号对变量的类型有最直接的影响
  • 一个对象去初始化另外一个对象,这两个对象是否有const修饰都可,比如:(拷贝一个对象的值是不会改变被拷贝的对象的)
int i=42;
const int ci=i;
int j=ci;

以上三行都正确。

  • 多文件使用相同const变量,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值