c++ 变量声明: 成员函数指针 成员变量指针
2010-06-03 14:33
579 查看
struct A{ int func(){return 0;} int val; }; struct B{ int func(){return 0;} int val; }; struct C{ static int A::*pval_A, B::*pval_B;//成员变量的指针(偏移量) static int (A::*pfunc_A)(), (B::*pfunc_B)(); }; int A::* C::pval_A= &A::val; int B::* C::pval_B= &B::val; int (A::*C::pfunc_A)()= &A::func; int (B::*C::pfunc_B)()= &B::func;
顺便实现个max函数,比较对象的数据成员中值的大小,不用重载operator< ()
template<typename _Object_Type, typename _Member_Type> inline _Object_Type& test_max( _Object_Type& a, _Object_Type& b, _Member_Type _Object_Type::* member ){ return a.*member > b.*member? a: b; }
用的时候也不用写模板参数列表
... A ta1,ta2; test_max(ta1, ta2, &A::val); ...
相关文章推荐
- C++如何声明类成员函数指针或类成员变量指针(A::*)
- C++利用类静态变量,实现伪类对象空指针成功访问含有成员变量的成员函数而不崩溃
- C++学习笔记(3)——成员变量、成员函数的指针
- c语言的声明__它是指针?变量?还是函数呢?
- C++调用一个成员函数的需求this指针的情况
- C++学习之const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++指向成员函数的指针
- c++ 函数参数和成员变量重名问题
- 读书笔记_Effective_C++_条款二十二:将成员变量声明为private
- C++中类成员函数指针的继承
- C/C++中关于地址、指针和引用变量的学习笔记(四) : 函数
- C++函数返回局部变量指针的问题
- C++成员函数指针的应用
- c++中函数中变量内存分配以及返回指针、引用类型的思考
- [C/C++] const 详解(修饰变量、输入参数、返回值、成员函数)
- 成员函数指针与高性能的C++委托(下篇)
- C++回顾之成员函数重载、类与结构体、this指针
- c++中函数中变量内存分配以及返回指针、引用类型的思考
- 成员函数指针与高性能的C++委托(上篇)
- C++ 静态成员函数使用不需要声明