函数指针是C++最大的优点之一。和使用普通指针相比,高级程序员只要有可能都更愿意使用引用,因为引用更容易处理一些。然而,当处理函数时,函数引用对比函数指针就未必有这个优势了。现有的代码很少使用函数引用。
在本文中,我们将向你介绍如何函数指针、如何使用函数引用以及分别在什么情况下使用它们。
下面是函数指针的一些例子:
#include
引用成员示例 class A { public: fun(); } class B { private: B(A& a); A& a; } 指针成员示例 class A { public: fun(); } class B { private: A* a; } 我个人觉得,这两者在功能上解决的问题是一样的,但是又不是很肯定,不知道谁能具体的说下这两者之间的区别和两者的使用情况
在c++函数中,形式参数用 引用 和用 指针都可以起到在被调用函数中改变调用函数的变量的作用。什么时候用引用作参数什么时候用指针作参数呢 void function (int *ptr); void function(int &ref);
[code] class CTest2 { public: CTest2(){printf("CTest2\n");}; virtual ~CTest2(){}; int x; }; void main() { CTest2 *pte = NULL; { CTest2 *peee = new CTest2(); CTest2 &test = *peee; test.x =33; pte = & } delete pte; } 大家觉得这个代码有问题吗?能说明什么问题吗?我有点搞不清楚了 [/code]
#include
[code]void fun(int*b,int* &d)
{
(*b)++;
b = new int(10);
cout<<"bbbb "<<*b<
一直以为这俩没啥区别 今天试了一下, 发现还有一个编译不过, 你知道是哪个吗? void fun1(int &*p) { p = new int; } void fun2(int *&p) { p = new int; } 有啥名堂,有啥区别不? [ 本帖最后由 freebarque 于 2009-7-11 16:45 编辑 ]