c++中函数与内置数组非常相似。如:
void func(int)
{
}
和
int arr[10];
相似点:
①当把函数名当值使用时,他们会自动转换为指针。
F* f = func;
int* p = arr;
你还可以通过typeid()来验证:
template<typename T>
void print(T t)
{
cout << typeid(t).name() << endl;
}
2、当它作为指针时,不需要接引用就可以调用函数:
f(0); 与(*f)(0); 等效
数组也一样,可以直接用p[5]
3、函数同数组一样,不能作为函数返回值。但指向函数的指针,和指向数组的指针可以作为函数返回值。
如:
F* ftest(){}。