Find для string

Рейтинг: 0Ответов: 1Опубликовано: 11.12.2014

Подскажите, что в этом коде выполняет эта строчка cout<<(i->find("r")==-1. Результат на экране 100 не очень понятен, так как у нас в каждом слове есть символ 'r'.

#include<iostream>
#include<string>
#include<set>
using namespace std;
int main()
{
    set<string>ss;
    ss.insert("Petrov");
    ss.insert("Borov");
    ss.insert("Abzalov");
    ss.insert("Borov");
    for(set<string>::iterator i= ss.begin();i!= ss.end();++i)
        cout<<(i->find("r")==-1);
    cin.get();
}

Ответы

▲ 1

Вообще-то (i->find("r")==-1) должно вернуть булево значение true или false. Зачем такая конструкция нужна, я не понимаю. И возращает она не 100, а числа 1 0 0. Т.е. в первом имени нет буквы (r), а в остальных есть.