我不知道C++ stl謂詞是如何實現的?例如在copy_if() http://www.cplusplus.com/reference/algorithm/copy_if/關於C++ stl謂詞的實現
根據Effective STL,謂詞按值傳遞。爲INT下面的代碼,
struct my_predicate{
int var_1;
float var_2;
bool operator()(const int& arg){
// some processing here
}
}
如何copy_if()
實施關於向過往my_predicate的價值?這裏有var_1
和var_2
。對於其他謂詞,結構中可能有不同的變量。
如果通過引用或指針傳遞,這對我來說非常合理。
非常感謝!
請注意,大多數謂詞包含* no *變量。通過一無所有將是相當浪費。 –
現在「首選」的方式是通過轉發參考。 – Jarod42