我最近問了一個關於從向量中移除項目的問題。那麼,我得到的解決方案的工作,但我不明白 - 我找不到解釋它的任何文檔。C++運算符()括號重載
struct RemoveBlockedHost {
RemoveBlockedHost(const std::string& s): blockedHost(s) {}
// right here, I can find no documentation on overloading the() operator
bool operator() (HostEntry& entry) {
return entry.getHost() == blockedHost || entry.getHost() == "www." + blockedHost;
}
const std::string& blockedHost;
};
爲使用:
hosts.erase(std::remove_if(hosts.begin(), hosts.end(), RemoveBlockedHost(blockedhost)), hosts.end());
我看着的std ::的remove_if的文檔,它說,它可以傳遞一個函數的類,而不是隻在類重載()運營商。沒有任何信息。
有誰知道鏈接:
-
含書實例/解釋相關
-
或者在線文檔的鏈接/教程
幫助與此將不勝感激。除非我理解,否則我不喜歡將代碼添加到我的軟件中。我知道它的工作原理,並且我很熟悉(有點)操作符重載,但我不知道()操作符是什麼。
太謝謝你了!只要它讓我,我會接受你的答案(這是說我必須等待10分鐘) – FurryHead 2011-03-31 17:00:48