current = s.rfind(‘:’): // Пер

Автор admin Воскресенье, 10 мая 2009 11:32

current = s.rfind(‘:’): // Перебор строки в обратном направлении: while(current != string::npos){ // Занесение слов в вектор. // Переменная current инкрементируется перед копированием. // чтобы предотвратить копирование ограничителя: ++current: strings.push_back( s.substr(current, last – current)): // Пропустить найденный ограничитель // и установить last в конец следующего слова: current -= 2; last = current + 1: // Поиск следующего ограничителя current = s.rfind(‘:’. current): } // Получение первого слова, не имеющего // префикса-ограничителя. strings.push_back(s.substr(0. last)): } void testDataO { // Тестирование в новом порядке: test_(strings[0] == “This”): test_(strings[l] == “is”): test_(strings[2] == “going”): test_(strings[3] == “to”); test_(strings[4] == “make”); test_(strings[5] == “sense”); test_(strings[6] == “now.”): string sentence: for(int i = 0: i < strings.sizeO – 1; sentence += strings[i] += ” “: // Вручную занести последнее слово, чтобы избежать // сохранения лишнего пробела, sentence +- strings[strings.size() - 1]; test_(sentence == “This is going to make sense now.”): } void run()


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