Size: a a a

2020 September 01

P

PRoSToC0der in pro.cxx
Neargye
например можно проверить констехпр ли

template<auto> struct require_constant;
template<class T>
concept has_constexpr_data = requires { typename require_constant<T::get_data()>; };

если вы скажите как это же сделать на с++17 я буду крайне благодарен! ибо заюзаю для фалбека с 20 на 17
оно же по сути работает как __builtin_constant_p? https://godbolt.org/z/Oysrwe
источник

N

Neargye in pro.cxx
PRoSToC0der
оно же по сути работает как __builtin_constant_p? https://godbolt.org/z/Oysrwe
ну да, но не ток на гсс)
источник

P

PRoSToC0der in pro.cxx
Neargye
ну да, но не ток на гсс)
на кланге почему-то не хочет в таком виде
https://godbolt.org/z/6YxEe7
источник

N

Neargye in pro.cxx
PRoSToC0der
на кланге почему-то не хочет в таком виде
https://godbolt.org/z/6YxEe7
как знаю кланг еще не полностью сделал концепты
источник

AT

Andrew Titov in pro.cxx
Bohdan Bessonov
Это очень непростой вопрос, по факту, МР3 - сжатый формат данных. Для начала придется понять каким кодеком был закодирован МР3, потом написать/взять спецификацию этого кодирования и раскодировать
Зачем нам информация о кодировщике?

https://en.wikipedia.org/wiki/MP3#Encoding_and_decoding
(последний абзац)
источник

КП

Крылатый Пегас... in pro.cxx
magras
Может быть стоит попросить модераторов вмешаться? Может быть @tsar_blog и хороший эксперт, но лично у меня нет желания видеть регулярные оскорбления и методички.
Мы посмотрели и решили дать r/o. Хамство и переход на личности это против правил чата.
источник

m

magras in pro.cxx
Крылатый Пегас
Мы посмотрели и решили дать r/o. Хамство и переход на личности это против правил чата.
Спасибо.
источник

AN

Alexander N in pro.cxx
Alex
Насчёт мощной базы согласен, но в целом, по-моему, я не понял, что вы хотели сказать. Повторюсь, что я не вижу, что бы такого позволяли концепты, что нельзя было сделать раньше, только более коряво и многословно. Нововведение языка, которое позволяет делать старые трюки удобнее и изящнее - это ли не определение сахара?
Я так понимаю концепты позволяют не городить шаблонные конструкции многоэтажные для проверок т.е по сути да, синтаксический сахар
источник

ИВ

Илья Волков... in pro.cxx
Alexander N
Я так понимаю концепты позволяют не городить шаблонные конструкции многоэтажные для проверок т.е по сути да, синтаксический сахар
Так можно всë сахаром назвать
источник

ИВ

Илья Волков... in pro.cxx
)))
источник

ИВ

Илья Волков... in pro.cxx
А там много что требуется реализовать. Явно не точку с запятой добавить
источник

ПК

Побитый Кирпич... in pro.cxx
Roman na
Никаких двух языков не существует. Это всё фанатазии. Для начала я советую тебе открыть букварь, а не ретранслировать херню из интернета. Сомнительно, конечно, что ты что-то, кроме лозунгов, изучишь. Поэтому лучше начать с реализаций. Разные языки, но почему-то реализация одна на двоих. Везде.
В Си уже столько всего добавили (и хотят добавить ещё больше), чего нет в С++. То есть стандартный Си уже не компилируется в С++.

А до этого явного добавления были всякие разные нюансы типа "const в глобальном namespace в С++ значит internal linkage, а в Си нет". Всё, код на Си, который на это завязался уже не соберётся на С++ (или будет баг в рантайме).

А у ж то что в Си повсюду создают объекты малоком, который только в С++20 научился создавать объекты...
источник

ПК

Побитый Кирпич... in pro.cxx
Можно считать только что у С++ и Си общие части типа синтаксиса, указателей и т.д.
Но о полноценном надмножестве речи уже не идёт
источник

VU

Vadim Ushakov in pro.cxx
Побитый Кирпич
В Си уже столько всего добавили (и хотят добавить ещё больше), чего нет в С++. То есть стандартный Си уже не компилируется в С++.

А до этого явного добавления были всякие разные нюансы типа "const в глобальном namespace в С++ значит internal linkage, а в Си нет". Всё, код на Си, который на это завязался уже не соберётся на С++ (или будет баг в рантайме).

А у ж то что в Си повсюду создают объекты малоком, который только в С++20 научился создавать объекты...
Ну успокоились же все, зачем опять начинать?
источник

ПК

Побитый Кирпич... in pro.cxx
Vadim Ushakov
Ну успокоились же все, зачем опять начинать?
А, я просто не дочитал до конца(
источник

A

Alex in pro.cxx
Vadim Ushakov
Ну успокоились же все, зачем опять начинать?
а мне было интересно прочитать этот перечень отличий
источник

ПК

Побитый Кирпич... in pro.cxx
Alexander N
Я так понимаю концепты позволяют не городить шаблонные конструкции многоэтажные для проверок т.е по сути да, синтаксический сахар
концепты позволяют перегружать деструкторы, такое вроде нельзя на сфинае сделать
источник

A

Alex in pro.cxx
но можно специализациями
источник

VU

Vadim Ushakov in pro.cxx
Alex
а мне было интересно прочитать этот перечень отличий
Не искал, но наверняка на эту тему есть в сети, если правда интересно
источник

D

Danya in pro.cxx
Neargye
есть
struct A {
constrexpt const char* get();
}

struct B {
const char* get();
}


узнать в темплейтах у кого constrexpt а у кого нет
Ещё актуально?
источник