wkq清秋枫叶
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2008-08-07
  • 粉丝1
  • 关注0
  • 积分53分
  • 威望8点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1934回复:12

两个有意思的C++用法,感兴趣者看一下.

楼主#
更多 发布于:2004-11-08 11:22
最近看书,发现有两个有意思的C++用法,作者说只有C++高手才这么用,因此写在这里,感兴趣者请说明他们的含义.回复正确者有分.

1)  void Function(void( *)(int &, int &), int &, int &);
2) void (Aclass:: *pAclassFuncArray[10])(int &, int &);

[编辑 -  11/8/04 by  wkq清秋枫叶]
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-08 11:46
这种用法在C里能经常看到的
1、在C里的叫回调函数
2、只是简单的指针函数
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
lucaer
驱动老牛
驱动老牛
  • 注册日期2004-09-21
  • 最后登录2007-09-26
  • 粉丝0
  • 关注0
  • 积分518分
  • 威望60点
  • 贡献值0点
  • 好评度48点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-08 12:43
路过 看一下
只要回帖,别忘给分。 支持灌水,多多送分。 [img]http://www.hotik.com/sign.png[/img]
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-08 13:29
这种用法在C里能经常看到的
1、在C里的叫回调函数
2、只是简单的指针函数


呵呵,不一定要高手才能用的,只是使用时小心些就好,毕竟是指针嘛
qwdrv
驱动大牛
驱动大牛
  • 注册日期2004-03-19
  • 最后登录2005-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-11-08 13:49
这种用法在C里能经常看到的
1、在C里的叫回调函数
2、只是简单的指针函数

都是指针啦,到了汇编都一样
wkq清秋枫叶
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2008-08-07
  • 粉丝1
  • 关注0
  • 积分53分
  • 威望8点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-11-08 14:01
我个人的理解(其实是书上的说法)是:
1)这是一个函数声明,这个函数有三个参数,第一个参数是一个函数指针,另外两个参数是整型引用;
2)这是一个数组声明,该数组的成员是类Aclass的成员函数的指针,这些成员函数定义如下:
   void FunctionX(int &, int &);

[编辑 -  11/8/04 by  wkq清秋枫叶]
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-11-08 17:19
我个人的理解(其实是书上的说法)是:
1)这是一个函数声明,这个函数有三个参数,第一个参数是一个函数指针,另外两个参数是整型引用;
2)这是一个数组声明,该数组的成员是类Aclass的成员函数的指针,这些成员函数定义如下:
   void FunctionX(int &, int &);



当然是声明

2.第一眼没看出是数组,没有[10],就是指针函数的声明
void (Aclass:: *pAclassFuncArray)(int &, int &);

第二个更确切说应该是“指针函数数组的声明”


[编辑 -  11/8/04 by  snowStart]
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
wkq清秋枫叶
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2008-08-07
  • 粉丝1
  • 关注0
  • 积分53分
  • 威望8点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-11-09 09:16
感谢大家参与.包括路过的,一律送分.

[编辑 -  11/9/04 by  wkq清秋枫叶]
rongkey
驱动牛犊
驱动牛犊
  • 注册日期2004-11-09
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-11-09 11:27
可以把例句放出来吗
wkq清秋枫叶
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2008-08-07
  • 粉丝1
  • 关注0
  • 积分53分
  • 威望8点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-11-09 16:43
"可以把例句放出来吗"

你是指这两种用法的实际例子吗?
如果是的,我将给出.如果不是,请再说明.
junky0566
驱动牛犊
驱动牛犊
  • 注册日期2004-11-08
  • 最后登录2006-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-11-09 17:22
路过看一把,学一把
zhenlongyang
驱动小牛
驱动小牛
  • 注册日期2004-10-28
  • 最后登录2010-07-26
  • 粉丝1
  • 关注0
  • 积分729分
  • 威望100点
  • 贡献值0点
  • 好评度66点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-11-12 22:11
你么。。。,有Bing,浪费时间。
forever_xor
驱动牛犊
驱动牛犊
  • 注册日期2004-11-19
  • 最后登录2004-11-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-11-23 11:38
1) void Function(void( *)(int &, int &), int &, int &);
Function有三个参数
第一个参数是一个函数指针,剩下的是引用.


void myadd(int &a  ,int &b)
{
      a=a+b;
}
void Functiona(Void(*myadd)(int&,int&),int &d,int &e)
{
   myadd(d,e);
}
void main()
{
    int x,y;
  
    x= 5;
    y=6;
    Functiona(myadd,x,y);
    cout << x;
}
则输出11


[编辑 -  11/23/04 by  forever_xor]
欢迎加入QQ群: NewStudy 5958290
游客

返回顶部