170 похожих чатов

А как нам обратиться к полям класса через итератор, если

они приватные, а методы у итератора нельзя вызвать, только деструкторы?

10 ответов

20 просмотров

вы про что вообще?

notepad++- Автор вопроса
Denis P
вы про что вообще?

void Group::deleteStudent(int id) { for (auto it = studentsInGroup.begin(), end = studentsInGroup.end(); it != end; ++it) { const auto i = *it; if (i.id == id) { studentsInGroup.erase(it); cout << "Студент " << i.name << "[" << i.id << "] успешно удален" << endl; return; } } cout << "Студента с таким ID не существует" << endl; cout << endl; }

notepad++- Автор вопроса

id и name приватные поля

нельзя делать erase при итераровании в таком виде

notepad++
id и name приватные поля

ну значит сделайте их публичными или сдетайте геттеры

Denis P
нельзя делать erase при итераровании в таком виде

почему? Он же выходит из цикла потом

notepad++- Автор вопроса
notepad++- Автор вопроса

vector<Student> studentsInGroup;

notepad++- Автор вопроса

так а как сравнивать по id?

notepad++- Автор вопроса
notepad++
так а как сравнивать по id?

мы можем вызвать метод у итератора, если функция типа Student, но мне не нужно возвращать его в функции deleteStudent(int id);

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта