my_max模板
来源:互联网 发布:玫瑰味香水 知乎 编辑:程序博客网 时间:2024/05/17 04:44
在写template程序的时候.经常有个疑问,你怎么知道class T一定有个.val变量.或者一定有一个.next()函数?一旦用户的类缺少某一个函数.那就会得到毫 不夸张的说 一大坨错误.
解决的方法一般是加上大量的注释.又有代码和注释不一致的可能性.维护注释是一件很麻烦的事情,因为编译器不会告诉你注释哪里有错误.
即便是加了注释也不一定能解决问题,用户的类可能已经实现了一个比较函数,但是不叫operator>()
我想让这个点既能按照x方向比较,又能按照y方向比较,甚至是-z,或者3x-y+25z
这个operator>()就没法完成任务了.
std:: 提供了另一种方法, 在参数中 多传一个 函数/函数对象 用于比较大小.
原型是pred(x, y).
有没有不申请新函数的解决方法? 有.
上面的 R T::*pv 是一个对象成员指针. 可以赋值为&point_3D::x 之类的值.
这样使用:
当然,也可以用成员函数指针,更灵活一些.
- my_max模板
- 模板
- 模板?
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- Lucene 原理与代码分析完整版
- 《嫁给程序员》 第二章 学姐的教诲
- 搜索引擎对网页内容相关性分析
- jquery判断用户名称是否存在
- 程序员的十层楼(6~7层)
- my_max模板
- suse 如何启动及配置sshd
- struts里整合FCKeditor,包括视频上传和中文乱码的解决!
- Asp.net怎样调用类
- 关于数值方法的一些算法解析(1)
- FCKeditor的详细配置
- 一步一步学RenderMonkey(3)——改良Phong光照模型
- 覆盖 重载 多态
- javascript日期字符串转换为Date对象