这是我参与「第五届青训营 」伴学笔记创作活动的第6 天
2.1.17 有常量指针 ****指针常量 ****常量引用 ****没有 引用常量 ⭐⭐⭐
1 、指针常量——指针类型的常量( int const p )***
本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。用法如下:****
int a = 10, b = 20;
int * const p = &a;
p = 30; // p 指向的地址是一定的,但其内容可以修改***
2 、常量指针 —— 指向 “ 常量 ” 的指针( const int p , int const p )**
常量指针本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。在常量指针中,指针指向的内容是不可改变的,指针看起来好像指向了一个常量。用法如下:****
int a = 10, b = 20;
*const int p = &a;
p = &b; // 指针可以指向其他地址,但是内容不可以改变****
这是我参与「第五届青训营 」伴学笔记创作活动的第 6天
常量引用: const int& a
2.1.18 没有指向引用的指针,因为引用是没有地址的,但是有指针的引用 ⭐⭐⭐****
2.1.19c/c++ 中变量的作用域 ⭐⭐⭐⭐⭐****
全局变量,局部变量,静态局部变量,静态全局变量****
2.1.20 c++ 中类型转换机制?各适用什么环境? dynamic_cast 转换失败时,会出现什么情况? ⭐⭐⭐****
C++类型转换相关内容整理分析_sakeww的博客-CSDN博客
向下转型的时候, static_cast 是安全的, dynamic_cast 是不安全的****
RTTI : Run-time Type identification 的简称,即:运行时类型识别。**
C++** 通过以下方式来支持 RTTI :****
typeid 运算符****
dynamic_cast 运算符****
dynamic_cast 运算符可以在执行期决定真正的类型,也就是说 expression 必须是多态类型****
进行上行转换(把派生类的指针或引用转换成基类表示): dynamic , static 均安全****
下行转换: dynamic 会进行检验****