C和C++的复杂声明遵循right-left规则
,这个规则帮助你快速地确定一个复杂声明的确切含义。
下面的定义式帮你掌握这种方法。
char a('V');
char *b(&a);
const char c('C');
const char *d;
char *const e(&a);
const char *const f(&c);
char **g;
const char **h;
char *const *i;
const char *const *const j = ??;
你能说出它们表示什么吗?
*/
#include <iostream>
using namespace std;
int main()
{
char a('V'); //字符变量
char *b(&a); //字符指针
const char c('C'); //字符常量
const char *d; //指向字符常量的指针变量
char *const e(&a); //指向字符变量的常指针
const char *const f(&c); //指向字符常量的常指针
char **g; //一个指针变量,它指向的是一个指向字符变量的指针
const char **h; //一个指针变量,它指向的是一个指向字符常量的指针
char *const *i = ??;
const char *const *const j = ??;//这两个留给大家想
return 0;
}