我想確保一個字符串至少有一個字母。簡單:如何引用find_if謂詞中的迭代器?
if (find_if(field_name.begin(), field_name.end(), isalpha) == field_name.end())
但我想用一個locale
。我知道我可以輕鬆地編寫一個單獨的函數,但我更喜歡在find_if中使用它。即,
include <locale>
std::locale loc;
if (find_if(field_name.begin(), field_name.end(), isalpha(*this_iterator,loc) == field_name.end())
問:有什麼方法使this_iterator
指的是當時最新的迭代器?
因爲無論如何* * this_iterator被傳遞(因爲它是第一個例子),所以你可以做一個'std :: bind'。 'std :: bind(isalpha,std :: placeholders :: _ 1,loc)' – chris