[英]C++ function object terminology functor, deltor, comparator, etc
是否有針對通用功能的各種類型的通用術語?
例如,我發現自己自然地將比較器用於比較函子,如下所示:
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);
}
};
如果使用這些速記術語是常見的,那么是否存在某個地方所有這些詞典?
比較器被廣泛使用,在Java中比C ++更為廣泛-比較功能是原始STL中的術語,比較器是Java API中的術語。
“ deltor”不是常用詞,聽起來像“ delta”,所以不會讓我想到釋放指針的東西。
帶有兩個參數並求值為布爾值的函數是“二進制謂詞” (同樣,一個參數為“一元”,三個參數為“三元”)。
在第二種情況下,“ deleter”似乎是可以接受的名稱(請參見boost :: shared_ptr )。
當然沒有標准,適用通用規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.