HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > нубовопросы по c++
Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 28527
Нанёс повреждений: 469 ед.
Возраст: 32

Рейтинг



Награды
 
[1 награда]


thambs
Да, правильно. Это всё нужно по большому счёту для шаблонного программирования.

__________________
So she began again: 'Où est ma chatte?' which was the first sentence in her French lesson-book. The Mouse gave a sudden leap out of the water, and seemed to quiver all over with fright. 'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt the poor animal's feelings. 'I quite forgot you didn't like cats.'

Сообщить модератору | | IP: Записан
Сообщение: 174966

Старое сообщение 06-02-2019 17:56
-
thambs
GNU/Hurt
Предупреждения:+

Дата регистрации: Mar 2006
Проживает: (void)
Сообщений: 4681

Рейтинг



XaeroX т.е. при компиляции конструкции

code:
template<int a> void foo(){ if constexpr (a>1) do_stuff(); };
и
code:
template<int a> void bar(){ constexpr bool tmp = a>1; if (tmp) do_stuff(); };
эквивалентны и условный переход исчезнет для любого инстанса?

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | | IP: Записан
Сообщение: 174967

Старое сообщение 06-02-2019 18:03
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 28527
Нанёс повреждений: 469 ед.
Возраст: 32

Рейтинг



Награды
 
[1 награда]


thambs
Насколько я знаю, if constexpr ведёт себя идентично if в обычных функциях.
Разница возникает в constexpr-функциях. Такие функции не скомпилируются с обычным if, потому что он гарантирует, что лишь одна из веток будет выполняться, а вот constexpr-if гарантирует, что лишь одна из веток будет компилироваться.
Ещё раз - это всё нужно в метапрограммировании, когда мы из-за отсутствия if constexpr в С++14 (интересно, многие ли уже на С++17 перешли?) городим этажерки с std::enable_if.

__________________
So she began again: 'Où est ma chatte?' which was the first sentence in her French lesson-book. The Mouse gave a sudden leap out of the water, and seemed to quiver all over with fright. 'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt the poor animal's feelings. 'I quite forgot you didn't like cats.'

Сообщить модератору | | IP: Записан
Сообщение: 174968

Старое сообщение 06-02-2019 18:48
-
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 22093
Нанёс повреждений: 361 ед.

Рейтинг



А чо, если я в шестёрке напишу if( 1 ) она это не выкинет?

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 174969

Старое сообщение 06-02-2019 19:43
-
thambs
GNU/Hurt
Предупреждения:+

Дата регистрации: Mar 2006
Проживает: (void)
Сообщений: 4681

Рейтинг



мультидефайн в зависимости от параметра

Что-то так и не придумал как это сделать, лучше опишу что я хочу, а потом спрошу, можно-ли и как это сделать.

вообщем, хочется что-то вроде макроса, который в зависимости от параметра делает много дефайнов, и другого, который чистит за ним. Что-то вроде:

макрос def_args(n): делает

code:
#define $a foo<n> #define $b bar<n> ...

и undef_args:
code:
#undef $a #undef $b
Можно-ли, и как?

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | | IP: Записан
Сообщение: 175109

Старое сообщение 19-02-2019 14:08
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 28527
Нанёс повреждений: 469 ед.
Возраст: 32

Рейтинг



Награды
 
[1 награда]


Вроде бы нельзя.

__________________
So she began again: 'Où est ma chatte?' which was the first sentence in her French lesson-book. The Mouse gave a sudden leap out of the water, and seemed to quiver all over with fright. 'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt the poor animal's feelings. 'I quite forgot you didn't like cats.'

Сообщить модератору | | IP: Записан
Сообщение: 175112

Старое сообщение 19-02-2019 14:59
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 03:06. Новая тема    Ответить
Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > нубовопросы по c++
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005-2019