请问 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不能在被其他同类函数赋值, 这与一般的引用变量是一样的.