[更多]最新日志
C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。 然而C++的指针却常常给我一种束手束脚的感觉。C++比C语言有更严格的静态类型,更加强调类型安全,强调编译时检查。因此,对于C语言中最容易错用的指针,更是不能放过:C++的指针被分成数据指针,数据成员指针,函数指针,成员函数指针,而且不能随便相互转换。而且这些指针的声明格式都不一样:
数据指针
T *
成员数据指针
T::*
函数指针
R (*)(...)
成员函数指针
R (T::*)(...) 尽管C++中仍然有万能指针void*,但它却属于被批斗的对象,而且再也不能“万能”了。它不能转换成成员指针。
这样一来,C++的指针就变得很尴尬:我们需要一种指针能够指向同一类型的数据,不管这个数据是普通数据,还是成员数据;我们更需要一种指针能够指向同一类型的函数,不管这个函数是静态函数,还是成员函数。但是没有,至少从现在的C++标准中,还没有看到。 沐枫网志 C++指针探讨(三)成员函数指针 自从有了
[阅读全文]
[阅读全文]
| 最近更新日志 | 发表日期 |
| 您也使用托管C++吗? | 2006/04/12 |
| C++指针探讨 (三) 成员函数指针 | 2006/03/14 |
| C++ 程序文档生成器介绍(doxygen) | 2005/11/23 |
| 如何在.NET中实现脚本引擎 (CodeDom篇) | 2005/11/03 |
| 如何在C++中集成Lua脚本(LuaPlus篇) | 2005/09/06 |






