Find для string

206
15 декабря 2016, 16:09

Подскажите, что в этом коде выполняет эта строчка 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();
}
Answer 1

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

READ ALSO
Повторный запуск программы

Повторный запуск программы

При повторном запуске результаты поиска не выводятся и не записываются в файлПри первичном все работает

175
Пример реализации классов в UML для C++ кода

Пример реализации классов в UML для C++ кода

Вот что написано: реализация – это способ показать наследование интерфейса в UMLКогда мы говорим, что класс A реализует интерфейс B, это значит,...

209
Как узнать адрес начала массива в ассемблере?

Как узнать адрес начала массива в ассемблере?

Нужно с использованием оператора LEA узнать адрес начала списка символов, чтобы потом с помощью XLAT выбрать нужный символС обычной переменной...

283