一旦知道C和C++ 语法如何工作,就能创建许多复杂的条目
//: C03:ComplicatedDefinitions.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
/* 1. */ void * (*(*fp1)(int))[10];
//fp1是指向函数的指针, 函数接受整形参数并返回一个10个void指针数组的指针
/* 2. */ float (*(*fp2)(int,int,float))(int);
//fp2是指向函数的指针,接受3个参数 int int float, 且返回一个指向函数的指针
//接受一个整形返回一个 float
/* 3. */ typedef double (*(*(*fp3)())[10])();
fp3 a;
//创建许多复杂的定义,可以使用tyepdef
//显示每次typedef如何缩短复杂定义的
//fp3 是一个指向函数的指针 函数无参数
//返回一个指向含有10个指向函数指针数组的指针,不接受参数,返回double值
//a是 fp3类型中的一个
//typedef 用简单描述构建复杂描述
/* 4. */ int (*(*f4())[10])();
//不是变量定义,而是函数定义
//f4是一个返回指针的函数,该指针指向一个含义10个函数指针的数组 返回整形值
int main() {} ///:~
我们很少使用复杂的声明和定义
如果搞清楚,不会被可能遇到的稍微复杂的情况所困惑
无输出