ing namespace std: typedef vec

Автор admin Вторник, 26 мая 2009 11:32

ing namespace std: typedef vector::iterator LSI: int main(int argc. char* argv[]) { char* fname – “FindBlanks.cpp”; if(argc > 1) fname = argv[l]: ifstream in(fname): assure(in, fname); vector vs: string s; while(getline(in. s)) vs.push_back(s); vector cpy – vs; // Для тестирования LSI lsi = find_if(vs.beginO. vs.endO, mem_fun_ref(&stri ng::empty)); whileOsi != vs.endO) { *lsi = “A BLANK LINE”; lsi = find_if(vs.begin(). vs.endO. mem_fun_ref(&string::empty)); } for(size_t i = 0; i < cpy.sizeO; i++) if(cpy[i].sizeO == 0) assert(vs[i] == “A BLANK LINE”): else assert(vs[i] != “A BLANK LINE”); } ///:- Если компилятор определяет string::empty с аргументами по умолчанию (что разрешено), то выражение &string::empty определяет указатель на функцию класса с максимальным числом аргументов. Поскольку компилятор не сможет предоставить дополнительные значения по умолчанию, при попытке применить string::empty через mem_fun_ref компилятор выдаст сообщение об отсутствии аргументов. Объекты функций 279 В этом примере алгоритм find_if() ищет первую пустую строку в заданном интервале, используя ада


Комментарии закрыты.