关于const与指针混合使用的助记法

转载 2015年09月21日 15:42:51

助记方法:把一个声明从右向左读


比如:

1.        char * const cp;  //cp is a const pointer to char

2.        const char * cp;  //cp is a pointer to const char;

 

规则:

¨  声明从右到左读:

¨  * 读成 pointer to

¨  ** 读成 (a) pointer to (a) pointer to

¨  * const 读成 const pointer to


再比如:

1.  char ** cpp;                             // cpp is a pointer toa pointer to char

2.  const char ** cpp;                   // cpp is a pointer toa pointer to const char

3.  char * const * cpp;                  // cpp is a pointer toconst pointer to char

4.  const char * const * cpp;        // cpp is pointer toconst pointer to const char

5.  char ** const cpp;                   // cpp isconst pointer to pointer to char

6.  char * const * const cpp;        // cpp is const pointer to const pointer to char

7.  const char * const * const cpp;    // cpp is const pointer to const pointer to const char

常量指针和指针常量巧妙记忆方法

1.常量指针通常有两种表示方法: method 1: const double * ptr; method 2: double const *ptr; 2.指针常量通常表示为: double ...
  • a15261893837
  • a15261893837
  • 2017-04-25 21:12:16
  • 580

const修饰指针的用法:常量指针和指针常量

const通常用来修饰变量不能够更改值,多用来保护变量或参数。 const int b = 100; //b = 0;错误 当const修饰指针时,由于const的位置不同,它...
  • oguro
  • oguro
  • 2016-09-28 21:49:56
  • 3306

C++中引用、指针与const之间的爱恨情愁

学过C语言基础的肯定都知道变量和数据类型是再简单不过的知识,然而这个基础中确有几个泥潭,稍有不慎就粉身碎骨——编程受阻,面试被刷。其中一个就是引用、指针和const,以及相互之间剪不断理还乱的关系。今...
  • xueyushenzhou
  • xueyushenzhou
  • 2016-08-30 21:59:59
  • 2507

C++ 使用const指针来传递对象

采用指针来传递对象,虽然可以避免重复调用复制构造函数和析构函数,但是由于它得到了该对象的内存地址,可以随时修改对象的数据,因此它实际上是破坏了        按值传递的保护机制。         ...
  • helainthus
  • helainthus
  • 2016-05-14 16:17:22
  • 752

C语言中关于const与指针结合的理解

C语言中const的可变与不可变的关系总结为:只有被const直接修饰的变量最终指向的内容不可变(忽略变量类型修饰符,即int, long等)。...
  • u011408809
  • u011408809
  • 2016-07-05 19:17:54
  • 2807

C++ - const常量与指针和引用之间的关系

const常量1、const常量必须在定义的时候初始化,且不能修改。 2、const常量的默认类型为int类型。 3、#define是一个预处理器编译指令。该编译指令告诉预处理器,在程序中来查找并...
  • ko_tin
  • ko_tin
  • 2016-11-15 23:36:33
  • 849

给一道关于const的面试题

/*题目:请声明一个指针,其所指向的内存地址不能改变,但内存中的值可以被改变 A.const int const *x = &y; B.int * const x = &y; C.const int ...
  • derkampf
  • derkampf
  • 2016-06-07 22:00:37
  • 676

const经典面试题

1> const int age1 = 21;      age1 = 100; // 编译报错   2> int const age2 = 22;   3> const int *...
  • meegomeego
  • meegomeego
  • 2015-08-19 12:04:18
  • 1747

const指针 与指向const的指针的区别

const 指针与指向const的指针 当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白...
  • z1026544682
  • z1026544682
  • 2016-08-09 09:43:28
  • 2389

const变量通过指针修改 详解

本来以为const变量是无法修改的,今天发现“错了”(其实没错,通过const变量本事是无法修改其值的,但是在“某些情况下”可以通过指向它的指针来间接修改) 一、const变量可以通过指针修改的情况 ...
  • hyqsong
  • hyqsong
  • 2016-03-12 20:42:35
  • 1758
收藏助手
不良信息举报
您举报文章:关于const与指针混合使用的助记法
举报原因:
原因补充:

(最多只允许输入30个字)