有点不明白?

lbeast 2005-11-17 04:31:50
c++ primer 第12章说函数对象时说到
我们可以通过count_if()泛型算法和第二个函数对象GreatThan 来实现
GreatThan 是一个更加复杂的函数对象
因为我们要把它泛化以便允许用户提供一个用于比较操作的显式长度值
所以在缺省情况下用长度6 初始化
#include <iostream>
class GreaterThan {
public:
GreaterThan( int sz = 6 ) : _size( sz ){}
int size() { return _size; }
bool operator()( const string & s1 )
{ return s1.size() > _size; }
private:
int _size;
};

谁能帮我解释一下上面的函数对象?
谢谢!
...全文
103 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rigel2001 2005-11-17
  • 打赏
  • 举报
回复
这倒提醒了我关于函数对象的问题
jixingzhong 2005-11-17
  • 打赏
  • 举报
回复
GreaterThan( int sz = 6 ) : _size( sz ){}
这里的 : _size( sz ) 称之为 初始化列表
-------
正确!!

这样有若干好处,
不过, 对于 int char 这类内置的数据类型, 意义不是很大 ...
jixingzhong 2005-11-17
  • 打赏
  • 举报
回复
这里不就是一个 类的 定义么 ?
ericqxg007 2005-11-17
  • 打赏
  • 举报
回复
GreaterThan( int sz = 6 ) : _size( sz ){}
这里的 : _size( sz ) 称之为 初始化列表 如果没有记错的话应该是在编译的时候进行的初始化
code8238 2005-11-17
  • 打赏
  • 举报
回复
mark
lbeast 2005-11-17
  • 打赏
  • 举报
回复
主要是
GreaterThan( int sz = 6 ) : _size( sz ){}
这是个怎么样的初始化啊?

64,673

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧