|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.03.2013, 16:55 | #11 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
ROD, не знаю, по каким причинам отговаривает _Bers, но у нас, например, дефайны запрещены по кодстайлу:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
03.03.2013, 13:11 | #12 | |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,678
|
Цитата:
Куча дублирующих литералов, куча ветвлений (switch'и не многим лучше if'ов). Почему в кейсах столько одинакового кода? Требуется декомпозиция (возможно, выделение небольших функций). Еще неплохо было бы освоить массивы (в т.ч. массивы строк и функций). А по какому принципу расставлены endl'ы и \n'ы? Чем они отличаются и что лучше?
Благими намерениями устлана дорога на programmersforum.ru
|
|
03.03.2013, 13:28 | #13 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Дефайны не дают типо-защиты, и не предохраняют от конфликтов имет.
Я использую енумы, как константы гарантированно времени компиляции. (под значения енума гарантированно не будет выделено памяти). Если мне не требуются переменные типа енума, то я использую безымянные енумы. |
03.03.2013, 14:23 | #14 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
Т.е. в одном случае endl это "\n", в другом это "\r\n".
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
03.03.2013, 15:19 | #15 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Код:
Код:
А о том, как это правильно сделать в рамках конкретной системы, отвечает реализация стрима этой системы. |
|
03.03.2013, 15:33 | #16 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Кстати, endl, вроде как, еще и выталкивает все из буфера (насильственный сброс буфера буферизованного вывода без ожидания переполнения).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
03.03.2013, 17:06 | #17 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Пардонте, я перепутал символы местами...
Правильно будет "\n\r" (это, к стати, в Widnows).
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
03.03.2013, 18:19 | #18 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Код:
Код:
|
|
03.03.2013, 18:24 | #19 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
#define NAME (type(value))
Вот вам и типозащита. enum удобно использовать там, где нужен один аргумент из всех. Если же надо делать битмаску из нескольких, enum мгновенно преващается в int и все теряется. Если нужна такая типозащита, тогда нужно не enum а собственный класс. |
03.03.2013, 19:05 | #20 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Единственное, что я понял из такого дефайна, это что любое упоминание NAME у меня заменится на непонятное (type(value)) что приведет к ошибке компиляции. Кстати, я использую иенно енумы для задания многочисленных флагов состояний: Код:
Что позволяет запоминать до 32 возможных комбинаций флагов. Как бы ничего революционно сложного, зато очень удобно и читабельно получается. А ещё, енумы гарантированно не потребляют память. И такие константы можно эксплуатировать в шаблоном метапрограммировании Последний раз редактировалось _Bers; 03.03.2013 в 19:24. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какие элементы кода могут тормозить загрузку моего сайта? | Pyatachok | HTML и CSS | 3 | 08.11.2012 23:05 |
Хочу понять в чем ошибка моего кода | FreeCat | Общие вопросы C/C++ | 11 | 09.06.2012 03:13 |
CreateRemoteThread и выполнение моего кода в чужом процессе | Человек_Борща | Win Api | 4 | 11.05.2012 11:16 |
Прошу помощи в проверке моего перевода небольшого фрагмента кода от Си к делфи! | SkAndrew | Общие вопросы Delphi | 11 | 16.08.2009 16:37 |
Ч чём ошибка моего кода сохранения и загрузки? | AngelOfDeath | Общие вопросы Delphi | 3 | 08.04.2008 13:55 |