Извлечь последний элемент множества

175
05 марта 2019, 16:40

Как извлечь последний элемент std::set?

Пытаюсь так, но выдаёт ошибку:

std::set<int> x = {1,2,3};
x.extract(x.crbegin());
Answer 1

Ну, все-таки reverse_iterator - не обычный итератор, так что для его применения следует использовать значение, на которое он указывает:

x.extract(*x.crbegin());

правда. У этого решения есть и минус - дополнительный поиск для извлечения.

Второй вариант вам указал @VTT - использовать прямой итератор:

x.extract(--(x.end()));
READ ALSO
Итератор для ветора в векторе

Итератор для ветора в векторе

Имеем вектор vector<vector<string>> all; в него пихем

163
c++ friend методы

c++ friend методы

Я хочу открыть методу класса B полный доступ к приватным членам класса A, но получаю от компилятора непонятное сообщение об ошибке

147
Получения IP адреса и порта по имени хоста

Получения IP адреса и порта по имени хоста

Как узнать IP адрес и порт, имея хост?

159
Живой элемент на layout

Живой элемент на layout

Реализовать примерно следующее: 1На layout добавить графический элемент (дым) 2

167