码迷,mamicode.com
首页 > 编程语言 > 详细

可读性很强的C语言的函数指针定义

时间:2014-04-30 21:38:57      阅读:463      评论:0      收藏:0      [点我收藏+]

标签:style   class   div   c   t   sp   int   cti   type   re   amp   

 

 

通常C/C++程序里面要用到大量的指针,其语法非常难以阅读。比如下面的vp指针类型:

 

#include <iostream>

 

using namespace std;

 

typedef void (*vp) (float&,float&);

 

void foo(float &a,float &b)

{

 

  a = a + b;

}

 

int main()

{

  //

  float a=1;

  float b=2;

  vp t=&foo;

  t(a,b);

  cout << a << endl;

  cout << "Hello World!" << endl;

  return 0;

}

 

 

 

 

下面我们就用C自己的宏定义功能,实现其他声明的可读性加强。

 

====================================================================

 

#include <iostream>

 

using namespace std;

 

#define DEFINE_FUNCTIONP(POINTER_NAME,RESULT_TYPE,...)\

typedef RESULT_TYPE (* POINTER_NAME) (__VA_ARGS__);

 

DEFINE_FUNCTIONP(vp,void,float&,float&)

//typedef void (*vp) (float&,float&);

 

//invalid conversion from void(*) (int,int) to vp {aka void(*) (...)} -fpermissive

//void foo(int a,int b)

void foo(float &a,float &b)

{

 

  a = a + b;

}

 

int main()

{

  //

  float a=1;

  float b=2;

  vp t=&foo;

  t(a,b);

  cout << a << endl;

  cout << "Hello World!" << endl;

  return 0;

}

 

 使用环境:

qt 5.2.1

gcc 4.8

 

 

可读性很强的C语言的函数指针定义,码迷,mamicode.com

可读性很强的C语言的函数指针定义

标签:style   class   div   c   t   sp   int   cti   type   re   amp   

原文地址:http://www.cnblogs.com/stevenlaz/p/3698972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!