读书人

请教 c++ typedef int(amp;rifii) (int,

发布时间: 2012-03-19 22:03:05 作者: rapoo

请问 c++ typedef int(&rifii) (int, int); 什么意思,如何使用?
请问 typedef int(&rifii) (int, int); 什么意思,如何使用?

非常谢谢!

ps:这个是c++程序设计语言第七章的问题,请问后面的联系答案哪里有呢?书上好像没有!

[解决办法]
typedef int(&rifii) (int, int);
定义一种函数引用rifii, 这种函数带两个int参数, 返回值类型是int

#include <iostream>

typedef int(&rifii) (int, int);

int Add(int a, int b)
{
return a+b;
}


int main()
{
using namespace std;

int a = 2;
int b = 3;
rifii fun = Add;

int result = fun(a, b);
cout < <result < <endl;

system( "pause ");
return 0;
}
[解决办法]
这个名字说不准了,但用法是这样的
typedef int(&rifii) (int, int);
int func( int x,int y)
{
return x+y;
}
int main(int argc, char* argv[])
{
rifii x = func;
cout < <x(10,20) < <endl;
cout < <typeid(rifii).name() < <endl;
cout < <typeid(x).name() < <endl;
return 0;
}
[解决办法]
函数引用与函数指针的区别是, 引用初试化后,不能改变.

如上面fun=Add后, fun不能在被其他同类函数赋值, 这与一般的引用变量是一样的.

读书人网 >C++

热点推荐