深入模板编程笔记三
2014-11-14 11:52
162 查看
//函数指针模板 template<typename T, void (*fun) (T &v)> void foreachf(T array[], int size) { for (int i = 0; i < size; ++i) { fun(array[i]); } } template<typename T> void inc(T &v) { ++v; } template<typename T> void dec(T &v) { --v; } void main() { int arrary[] = {1, 2, 3, 4}; foreachf<int, inc<int>>(arrary, 4); system("pause"); return; }//传人的是任意参数类型的函数指针。
<pre name="code" class="cpp">//指针,引用模板参数//主要讲的是模板类型可以当参数传入(指针,引用)tempalte<int *p> ...//如此传入的必须是一个指针,就像函数参数赋值那样.tempalte<int &p>...//同理.//成员函数指针模板参数//和函数指针不同的是,传入的地址要是类修饰的函数地址class some_value;typedef int (some_value::*some_mfp)(int);template<some_mfp func>int call(some_value& value, int op) {return (value.*func)(op);}class some_value {int value;public:some_value(int _value): value(_value) {}int adde_by(int op) {return value += op;}int sub_by(int op) {return value -= op;}};void main(){some_value v(0);cout << call<&some_value::adde_by>(v, 1);system("pause");return;}
相关文章推荐
- 深入模板编程笔记一
- 深入模板编程笔记二
- 深入模板编程笔记四
- [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)
- 深入.net平台和c#编程 学习笔记
- 笔记:深入解析MapReduce架构设计与实现原理 第3章 MapReduce编程模型
- (1-2)章深入.NET平台和C#编程 复习的时候 整理的笔记
- Java并发编程学习笔记 深入理解volatile关键字的作用
- 深入.NET平台和C#编程 第四章 学习笔记
- UNIX环境编程学习笔记(19)——进程管理之fork 函数的深入学习
- 深入.NET平台和C#编程 第一章 学习笔记
- UNIX环境编程学习笔记(19)——进程管理之fork 函数的深入学习
- VC深入编程内幕笔记
- 深入解析Java的设计模式编程中的模板方法模式
- 【VC编程】笔记2--SDK编程的模板程序/MFC消息映射机制的本质解析
- Java笔记十九.深入解析I/O编程之流的层次结构
- 深入.NET平台和C#编程 第三章 学习笔记
- 深入.NET平台和C#编程 第二章 学习笔记
- 27、深入理解计算机系统笔记,网络编程
- C++学习笔记6--高级强制类型转换 命名空间和模块化编程 C预处理器 链接和作用域 函数模板 类模板 内联模板 容器和算法