|
0 / 0 / 0
Регистрация: 05.01.2010
Сообщений: 9
|
||||||
Чем же макрос define так плох?08.01.2010, 03:29. Показов 20753. Ответов 115
После прочтения про директиву препроцессора define возник вопрос по поводу применения define, как функции:
0
|
||||||
| 08.01.2010, 03:29 | |
|
Ответы с готовыми решениями:
115
Чем так плох чипсет P31? чем плох mysql_query Чем плох uCoz? |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||
| 25.10.2015, 12:34 | ||||||||||
|
в программировании переменные могут быть константными. как бы ни странно это звучало. однако, тема дефайнов как альтернатива константам подразумевает константы времени компиляции. а вот эти константы уже не могут быть переменными. так что да, ваше замечание попало в цель. Добавлено через 6 минут 1. константы времени компиляции 2. константы времени выполнения 3. mutable переменные. только и только константы времени компиляции не являются переменными. хотите сказать, что я это придумал?
вам знаком термин "inline подстановка"? вы понимаете, что это значит?
0
|
||||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||
| 25.10.2015, 12:50 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 25.10.2015, 12:54 | |||
|
когда вы сравните версию с дефайном с версией с константой. а не когда вы тупо удалили код и сказали: о боже! размер изменился! мы же рассматриваем различные подходы для одного и того же действия. выведите мнек цыферку 45 при помощи макроса, или при помощи константы. но не нужно полностью удалять эту циферку, и потом кричать: "размер изменился!" ведь то, что вы сейчас постулируете - в этом отсутствует здравый смысл.
0
|
|||
|
|
|||||
| 25.10.2015, 13:19 | |||||
|
Не по теме: Тема превратилась в очередной срач
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 25.10.2015, 13:22 | |
|
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 25.10.2015, 13:23 | ||
|
Кстати, ссылка-то открылась у тебя хоть какая-то про статический константный член класса, или файервол до сих пор не пускает?
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||
| 25.10.2015, 13:24 | ||||||||
Добавлено через 29 секунд
0
|
||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 25.10.2015, 13:27 | ||
|
в одном случае выводите константу. а в другом вообще её не выводите. задайте себе вопрос: нахрена вы сделали такой тест? как это соотносится с темой "дефайны против констант"?
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 25.10.2015, 13:31 | |||||||
|
ей то какая разница? и потом, правила языка не позволяют взять адрес у литерной константы, но я повторюсь - уже давным давно все топовые компиляторы научились оптимизировать промежуточные вычесления. так что разницы не будет. можете глянуть ассмо-выхлоп. http://rextester.com/EOQ15501
0
|
|||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||
| 25.10.2015, 13:32 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 25.10.2015, 13:39 | |||
|
то бишь, понятно что попадает, но не более и не менее, чем в случае с дефайнами. потому что компилятор не телепат. однако, константы, у которых не просили адреса, не кушают оперативную память. в каком контексте мыслите вы? вот этого мне не понятно, потому что у вас присутствует утеря здравого смысла. Добавлено через 1 минуту я наглядно опровергаю этот тезис. демонстрируя, что дефайны не имеют никаких приимуществ перед константами в этом смысле.
0
|
|||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||
| 25.10.2015, 13:49 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 25.10.2015, 13:54 | |||
|
хотите сказать, что я неверно истолковал мотив автора? потому что вы сравнивали не "дефайны против констант", а "константу с ничем" ваш тест никак не соотносится с изучаемой проблемой.
0
|
|||
|
Неэпический
|
|
| 25.10.2015, 19:53 | |
|
1
|
|
| 25.10.2015, 19:53 | |
|
Чем плох goto? Чем плох make? Чем плох управляемый С++?
Чем плох ProBuilder (Unity3D)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс
Ссылка на сгенерированную музыкальную композицию:
https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013
Я говорю, что Время- как вода
течет. . .
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|