|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
||||||
Перебор ключей карты в классе20.04.2019, 19:38. Показов 8185. Ответов 25
Метки нет (Все метки)
Есть класс с private картой. Как я могу циклом получить список ключей из внешней функции? Если бы карта была public я бы мог перебрать данные итераторами, но как грамотно сделать это в данном случае?
0
|
||||||
| 20.04.2019, 19:38 | |
|
Ответы с готовыми решениями:
25
Перебор ключей в словаре
|
|
|
||||||
| 20.04.2019, 19:58 | ||||||
|
ну выдавай константную ссылку на массив. (картой обычно их не зовут это либо мапа, либо ассоциативный массив по-русски)
2
|
||||||
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
|
| 20.04.2019, 20:18 [ТС] | |
|
Kuzia domovenok, извиняюсь, если вопрос не очень грамотный, но это считается хорошим подходом? Насколько я знаю пользователь класса не должен быть осведомлён о том, что происходит внутри, а так получается, что это не совсем верно. Или я ошибаюсь?
0
|
|
|
|
|
| 20.04.2019, 20:27 | |
|
Explain, конечно не считается, но какой уж есть. тебе же зачем-то понадобился цикл вне класса. придётся пописать говнокод. Мы не привередливые.
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 20.04.2019, 20:32 | |
|
Explain, можно просто определить итератор в своем классе на базе итератора контейнера
1
|
|
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
||||||
| 20.04.2019, 20:37 [ТС] | ||||||
|
Kuzia domovenok, разве нет иного способа? Возможно я не совсем грамотно описал задачу. Есть private мапа, мне нужны все включи во внешней функции.
Кстати среда ругается:
0
|
||||||
|
|
|
| 20.04.2019, 20:42 | |
|
zayats80888, а смысл? то же самое предоставление полного доступа к контейнеру
Explain, всё показывай.
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||||||
| 20.04.2019, 20:45 | |||||||
1
|
|||||||
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
|||||||||||
| 20.04.2019, 20:55 [ТС] | |||||||||||
|
Kuzia domovenok, переписал данные, чтобы было легче объясняться. Класс:
0
|
|||||||||||
|
|
||||||
| 20.04.2019, 21:02 | ||||||
1
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||||||
| 20.04.2019, 21:04 | |||||||
Сообщение было отмечено Explain как решение
Решение
Explain,
1
|
|||||||
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
||||||
| 20.04.2019, 21:35 [ТС] | ||||||
|
zayats80888, я так понимаю first это итератор, можете подсказать как правильно его разыменовать? Например, если мне надо отправить фамилию аргументом. Полагаю стоило сразу в такой форме свой код выложить, извиняюсь.
0
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 20.04.2019, 21:41 | ||
std::map при разыменовании возвращает пару std::pair, а first и second соответственно ссылки на ключ и его значение
1
|
||
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
||||||
| 20.04.2019, 21:42 [ТС] | ||||||
|
Kuzia domovenok, опять же, возможно я не прав, но выглядит немного избыточным создание и заполнение вектора внутри класса, когда у нас уже есть эти данные просто немного в другом виде.
zayats80888, как ни странно всё та же ошибка. Возможно дело в том, что пишу на Qt с QMap?
0
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||||||||||
| 20.04.2019, 21:44 | ||||||||||||
и лучше так:
1
|
||||||||||||
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
|
| 20.04.2019, 21:47 [ТС] | |
|
zayats80888, изначально пробовал как вы писали, сообщение выше скорректировал.
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 20.04.2019, 21:48 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
|
| 20.04.2019, 21:49 [ТС] | |
|
zayats80888, пишет, что first - это не указатель.
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 20.04.2019, 21:50 | |
|
Explain, покажите весь код
0
|
|
|
1 / 1 / 0
Регистрация: 03.11.2012
Сообщений: 53
|
||||||
| 20.04.2019, 21:59 [ТС] | ||||||
0
|
||||||
| 20.04.2019, 21:59 | |
|
Помогаю со студенческими работами здесь
20
Перебор одинаковых ключей посредством foreach Вывод значения ключей массива по условию совпадения других ключей
Массив ключей из ключей двух массивов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|