Size: a a a

2020 July 29

AF

Aidar Fattakhov in supapro.cxx
Aidar Fattakhov
Короче там где-то requires clause а где-то requires expression, первое проверяет на true, второе проверяет на компилируемость
Первое во второе переключается requires{}
Второе в первое переключается через requires
Второе во второе переключается через requires requires{}
источник

AS

Anatoly Shirokov in supapro.cxx
Aidar Fattakhov
Короче там где-то requires clause а где-то requires expression, первое проверяет на true, второе проверяет на компилируемость
Первое во второе переключается requires{}
Второе в первое переключается через requires
да, то есть если бы мне надо было проверить, что first_type, second_type типы, то надо было писать:
template <typename T>
concept IntegralPair = requires {
       typename T::first_type;
       typename T::second_type;
   }
   && std::is_integral_v<typename T::first_type>
   && std::is_integral_v<typename T::second_type>
   && std::is_same_v<std::pair<typename T::first_type, typename T::second_type>, T>;
;
источник

AF

Aidar Fattakhov in supapro.cxx
Типа того
источник

AS

Anatoly Shirokov in supapro.cxx
Denis Paukaev
Это и плохо что нихрена не понятно
ну, хз, это лучше, чем SFINAE. ты в естественной форме выражаешь требования к типам. это мечта разработчиков обобщенных библиотек
источник

AF

Aidar Fattakhov in supapro.cxx
Anatoly Shirokov
ну, хз, это лучше, чем SFINAE. ты в естественной форме выражаешь требования к типам. это мечта разработчиков обобщенных библиотек
Возможно стоит ещё скобки поставить одни на весь &&
источник

AF

Aidar Fattakhov in supapro.cxx
Но я не знаю как это в проде вообще должно выглядеть
источник

DP

Denis Paukaev in supapro.cxx
Anatoly Shirokov
ну, хз, это лучше, чем SFINAE. ты в естественной форме выражаешь требования к типам. это мечта разработчиков обобщенных библиотек
Это определенно лучше sfinae, но синтаксис как минимум не тривиален, возможно хотя бы какие то комменты нужны )
источник

AF

Aidar Fattakhov in supapro.cxx
Aidar Fattakhov
Возможно стоит ещё скобки поставить одни на весь &&
Чтобы как конъюнкт не работало с частичными такими же а было единым выражением
источник

AS

Anatoly Shirokov in supapro.cxx
Denis Paukaev
Это определенно лучше sfinae, но синтаксис как минимум не тривиален, возможно хотя бы какие то комменты нужны )
ну, просто как все новое требует определенного привыкания, а так раскурить стандарт и все http://eel.is/c++draft/temp.constr#decl
источник

AS

Anatoly Shirokov in supapro.cxx
Aidar Fattakhov
Чтобы как конъюнкт не работало с частичными такими же а было единым выражением
да, вроде, и без скобок все норм
источник
2020 July 30

S

SorX in supapro.cxx
Привет. Подскажите как сделать вывод чисел в двоичной системе исчисления? std::bitset не катит так как там константа, а у меня много чисел разной длинны.
источник

TW

Tony Werner in supapro.cxx
SorX
Привет. Подскажите как сделать вывод чисел в двоичной системе исчисления? std::bitset не катит так как там константа, а у меня много чисел разной длинны.
А самому реализовать?
источник

TW

Tony Werner in supapro.cxx
Элементарная вещь же
источник

TW

Tony Werner in supapro.cxx
Готового к сожалению нет
источник

S

SorX in supapro.cxx
А время выполнения?
источник

A

Andrey Brazhenko in supapro.cxx
SorX
Привет. Подскажите как сделать вывод чисел в двоичной системе исчисления? std::bitset не катит так как там константа, а у меня много чисел разной длинны.
bitset делаешь и выводишь начиная с первой единицы
источник

TW

Tony Werner in supapro.cxx
SorX
А время выполнения?
Ничего не изменится
источник

SB

Stanislav Bobokalo in supapro.cxx
SorX
Привет. Подскажите как сделать вывод чисел в двоичной системе исчисления? std::bitset не катит так как там константа, а у меня много чисел разной длинны.
Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
источник

A

Andrey Brazhenko in supapro.cxx
Stanislav Bobokalo
Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
пример того, как время выполнения изменится. по умолчанию /= 2 не оптимизируется и лучше жать >>=1 и &1
источник

AS

Anatoly Shirokov in supapro.cxx
Andrey Brazhenko
пример того, как время выполнения изменится. по умолчанию /= 2 не оптимизируется и лучше жать >>=1 и &1
источник