簡體   English   中英

C ++函數對象術語函子,deltor,比較器等

[英]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”,所以不會讓我想到釋放指針的東西。

  1. 帶有兩個參數並求值為布爾值的函數是“二進制謂詞” (同樣,一個參數為“一元”,三個參數為“三元”)。

  2. 在第二種情況下,“ deleter”似乎是可以接受的名稱(請參見boost :: shared_ptr )。

當然沒有標准,適用通用規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM