169 похожих чатов

1) Читабельность 2) SLINE и SRES, лучше через функции использовать Вопрос: В

каких случаях тогда лучше использовать макросы как функции ?

7 ответов

14 просмотров

Если технически возможно реализовать поведение в виде функции, надо писать функции

ㅤ- Автор вопроса

Человек выше неправ, во-первых макросы стоит использовать, когда ты хочешь, чтобы твоя функция была гарантированно inline, однако это не всегда оправданно и может привести ухудшению производительности программы, во-вторых когда ты хочешь сделать что-то специфичное - например "перегрузку" через дженерик макрос, нагенерить обычные функции или сделать функцию со всеми вариадик аргументами.

Не спорю по поводу гарантированного inline или _Generic, но это как раз то, что нельзя реализовать на обычных функциях.) Мой посыл был как раз в том, что если можно сделать на обычных функциях, то так и стоит делать.

multi processing
Не спорю по поводу гарантированного inline или _Ge...

Ну вот смотри, возьмёт простенькую функцию нахождения максимума из двух чисел - вот её, к примеру стоит реализовать через макрос, т.к. тупо вызов этой функции займет больше времени, нежели вычисление её результата.

BlackBloodyRabbit Rabbit
Ну вот смотри, возьмёт простенькую функцию нахожде...

Такие функции, как правило же инлайнятся компилятором? Вроде как в современном мире считается нормальным тоном доверять такую работу оптимизаторам, а не думать за него

multi processing
Такие функции, как правило же инлайнятся компилято...

Тут всё зависит от того, с какими флагами оптимизации собирать

Похожие вопросы

Обсуждают сегодня

Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Делал задачу вот такую https://stepik.org/lesson/4985/step/9?unit=1083 получилось такое https://play.haskell.org/saved/ipKrepqe оно работает, тестов много не писал, но работае...
Fedor
22
Похоже опять туплю задача https://stepik.org/lesson/5431/step/8?unit=1132 код и его работа https://play.haskell.org/saved/lmYTShXM на мой взгляд все правильно, и даже избыто...
Fedor
8
что-то я не понимаю, в линуксе отладочную информацию как убрать из бинаря? он что с этой опцией, что без - одного и того же (достаточно большого) размера (да, я про лазарь)
Iluha Companets
13
Hey Does anyone know how can I receive push notifications from Github on my account? The official Github android app doesn't send notifications, and I don't use the email bec...
Jacob
10
Как в webstorm включить фичу, чтобы прямо в коде можно было видеть кто редактировал это строчку и в каком коммите?
Антон
8
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Всем привет, а может кто-то подсказать какие-то советы или типо того, как оптимальнее всего сапортить сервисы в разных локациях (канада + австралия + евпропа)? Будет ли ошибк...
Stas
8
Это что теперь, любой бот сможет принимать платежи без ебли с юр лицами?
Lencore
8
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
Карта сайта