<C++学习八>C++处理类型
本篇博客仅作为笔记,如有侵权,请联系,立即删除(网上找博客学习,然后手记笔记,因纸质笔记不便保存,所以保存到网络笔记)
1、类型别名是一个名字,它是某种类型的同义词
(1)typedef
1 typedef double d; 2 typedef double* p;
(2)using
1 using d = double;
注意:
1 typedef char* pstring; 2 const pstring p1; 3 const char* p1;
以上两种声明并不等效。
2、C++的顶层const和底层const的理解(对于指针)
区分方法:
(1)指向常量的指针:代表不能改变其指向内容的指针(底层)。注意:指向“常量”的指针不代表它所指向的内容一定是常量,只是代表不能通过解引用符(操作符*)来该表它所指向的内容。
(2)指针常量:代表指针本身是常量,声明时必须初始化,之后它储存的地址值就不能再改变(顶层)。
实例代码:
1 int num = 3; 2 const int *p_c = &num_c; 3 //int *p_d = p_c;(错误) 4 const int *p_d = p_c;
注意:const_cast只能改变底层const,无法改变顶层const。