![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
SolRus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
подскажите как к примеру искать в структурах, а также в структуре по 1 параметру?
на liveworkspace или вот код:
пытался найти mData(42, "es") (по всем параметрам) ошибка, также как найти по 1 параметру из структуры? к примеру 42 (только по int, исключая string)? |
|||
|
||||
disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: нет Всего: 3 |
Описать оператор сравнения в mData:
или использовать find_if, передавая ему компаратор. Да, и звездочки при *it в операции вывода на экран не забудьте удалить, раз уж используете ->. Или используйте точку, но тогда нужны скобки вокруг *it. |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
делаешь 2 функтора
и вызываешь не find, а find_if:
http://liveworkspace.org/code/6f941f83fdfb...4f994f2151b9d88 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
если не брезгуешь C++11, то можно и проще
http://liveworkspace.org/code/835638bab944...f3ba94cb48b358d -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
SolRus |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
большое вам спасибо)
через оператор сравнения по одному можно перегрузить
и функторы понял, а вот с++11 запись выглядит странно необычно)
а почему должен брезгать? это ж новый стандарт... вопрос решен, но интересно какой вариант(оператор,функтор,с++11) быстрее? чем можно проверить? |
||||||
|
|||||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
оператор == не даст тебе возможности искать по одному полю... скорость работы функтора и лямбды целиком и полностью зависит от компилятора (от настроек оптимизации и т.п.) и вообще, делай как тебе понятней, как удобнее использовать, чтобы код был понятным, расширяемым... о скорости нужно думать тогда (и только тогда) когда 1) её не хватает 2) всё остальное написано и отлажено погугли про преждевременную оптимизацию ![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |