普通仿函数的各种类型是否有普遍接受的术语?
例如,我发现自己使用比较器来比较像这样的比较函数:
struct ciLessLibC : public std::binary_function<std::string, std::string, bool> {
bool operator()(const std::string &lhs, const std::string &rhs) const {
return strcasecmp(lhs.c_str(), rhs.c_str()) < 0 ? 1 : 0;
}
};
或者使用术语deltor来做这样的事情:
struct DeleteAddrInfo {
void operator()(const addr_map_t::value_type &pr) const {
freeaddrinfo(pr.second);
}
};
如果使用这些速记术语很常见,那么它们的某些字典是否存在?
答案 0 :(得分:3)
Comparator使用相当广泛,在Java中比C ++更常用 - 比较函数是原始STL中的术语,Comparator是Java API中的术语。
答案 1 :(得分:2)
一个接受两个参数并求值为布尔值的函数是"binary predicate"(同样,一个参数为“一元”,三个为“三元”)。
在第二种情况下,“删除者”似乎是一个可接受的名称(见boost::shared_ptr)。
答案 2 :(得分:1)
当然没有标准,适用共同规则。