<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。

posted @ 2018-09-26 08:21  daisy_ai  阅读(189)  评论(0编辑  收藏  举报