Название: first, second Отправлено: Igors от Ноябрь 01, 2015, 08:28 Добрый день
std::pair скромная, но очень полезная вещь. Но вот беда - эти безликие first, second порядком затрудняют понимание написанного. Можно ли как-то использовать вместо них свои, осмысленные имена? Спасибо Название: Re: first, second Отправлено: Old от Ноябрь 01, 2015, 08:34 По моему, проще сделать свою структуру.
Название: Re: first, second Отправлено: Racheengel от Ноябрь 01, 2015, 12:25 Как бы +1
Название: Re: first, second Отправлено: Bepec от Ноябрь 01, 2015, 14:41 Так как вы любитель странных решений, можете задефайнить first и second в что то осмысленное :D Конечно появятся более пары сотен ошибок, но вы с ними справитесь, ради своего чувства прекрасного :D
Название: Re: first, second Отправлено: Racheengel от Ноябрь 01, 2015, 15:38 Ну еще можно отнаследоваться от пары и добавить методы с желаемыми именами для доступа к first и second... но стоит ли оно того..
Название: Re: first, second Отправлено: Пантер от Ноябрь 02, 2015, 09:36 Структуру создай, это самое наглядное. Или tuple и enum'ом элементы обзови.
Название: Re: first, second Отправлено: Igors от Ноябрь 02, 2015, 10:07 Структуру создай, это самое наглядное. Ну как же я сам не сообразил? :) Только вот многовато получается таких простеньких структур, только с конструктором и оператором <Или tuple и enum'ом элементы обзови. А как это ???Название: Re: first, second Отправлено: Пантер от Ноябрь 02, 2015, 10:09 Код
Название: Re: first, second Отправлено: m_ax от Ноябрь 02, 2015, 11:28 Цитировать Только вот многовато получается таких простеньких структур, только с конструктором и оператором < Макрос напишите и плодите их сколько хотите)Название: Re: first, second Отправлено: Igors от Ноябрь 02, 2015, 11:42 Макрос напишите и плодите их сколько хотите) Прошу исполнитьНазвание: Re: first, second Отправлено: ssoft от Ноябрь 02, 2015, 12:37 ... Или tuple и enum'ом элементы обзови. Самое корректное решение будет, к тому же легко расширяемое. Название: Re: first, second Отправлено: Igors от Ноябрь 02, 2015, 12:51 Самое корректное решение будет, к тому же легко расширяемое. Хмм... ну как-то оно не производит впечатления легкости и изящества :) И оператора < что-то не видно. Но вот если эл-тов 3 и более - может тогда и тупли "попробывать" Название: Re: first, second Отправлено: m_ax от Ноябрь 02, 2015, 15:28 Цитировать Прошу исполнить Код
Название: Re: first, second Отправлено: Igors от Ноябрь 02, 2015, 15:49 Код
Название: Re: first, second Отправлено: Old от Ноябрь 02, 2015, 16:48 А в чем сложность добавить в макрос создание конструктора и нужных операторов?
Название: Re: first, second Отправлено: m_ax от Ноябрь 02, 2015, 16:49 Цитировать К сожалению, так я теряю пусть небольшой, но приятный ф-ционал std::pair (конструктор(ы), оператор < и др). Ну так и определите их в макросе. В чём проблема?Код И ещё в макрос можно засунуть специализацию make_pair, например.. Название: Re: first, second Отправлено: Igors от Ноябрь 03, 2015, 03:36 Ну так и определите их в макросе. В чём проблема? Такой макрос выглядит очень сомнительно. Ну ладно, нету хорошего способа - значит нету, не все должно быть как хотелось бы :)Название: Re: first, second Отправлено: Old от Ноябрь 03, 2015, 07:41 Такой макрос выглядит очень сомнительно. Вовсе нет. Добавьте туда конструктор копирования, операторы присваивания и сравнения и он будет генерировать структуру аналогичную pair. |