C++编程思想 第1卷 第3章 函数地址 使用函数指针

一旦定义函数指针,使用前给它赋值一个函数地址
像数组 arr[10],如果不带方括号,arr是地址
func()地址是没有参数列表  func函数产生的
&func() 也可表示函数 的地址
为了调用函数,可间接引用指针
声明相同的方法地址相同

C和C++ 力图让引用看上去与使用引用的方法一样

//: C03:PointerToFunction.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// Defining and using a pointer to a function
#include <iostream>
using namespace std;

void func() {
  cout << "func() called..." << endl;
}

int main() {
  void (*fp)();  // Define a function pointer
  fp = func;  // Initialize it
  (*fp)();    // Dereferencing calls the function
  void (*fp2)() = func;  // Define and initialize
  (*fp2)();
  getchar();
} ///:~
定义和使用指向函数的指针
定义了指向函数的指针fp之后,用fp=func使fp 获得函数 func()的地址
函数名缺少参数列表
第二种情况显示定义和初始化


输出
func() called...
func() called...


猜你喜欢

转载自blog.csdn.net/eyetired/article/details/80786461