Size: a a a

2020 August 27

CD

Constantine Drozdov in pro.cxx
Roman na
Что значит не определяет? К тому же проблема не в реализации. Проблема в отсутствии разработки темы вообще, даже теоретической
это означает, что один и тот же итоговый результат, как правило, можно получить миллионом способов, но только один (реже единицы) из них правильный
источник

ПК

Побитый Кирпич... in pro.cxx
Roman na
алиас обладает всеми свойствами того, чего он алиас. Это просто альтернативное имя. Со ссылками это не так. Это всё существует на уровне объектов в памяти. Это не тот уровень.
Как раз ссылка в С++ считается  как "альтернативное имя", которое не имеет storage-а, не является объектом и может компилятором нигде никак не храниться
источник

ПК

Побитый Кирпич... in pro.cxx
Что это если не алиас?
источник

ПК

Побитый Кирпич... in pro.cxx
В отличие от указателя, который объект и имеет storage
источник

Rn

Roman na in pro.cxx
Побитый Кирпич
Как раз ссылка в С++ считается  как "альтернативное имя", которое не имеет storage-а, не является объектом и может компилятором нигде никак не храниться
Нет. Это всё маня-считается. Считается она в рамках своего, локального крестам контекста. Это не альтернативное имя в прямом понимании. Оно теряет все свойства значения, на которое ссылается. Если попроще. Вот у тебя значение constexpr и ты взял на него ссылку, ещё нагляднее пусть это будет параметр функции. У тебя значение constexpr, а алиас на не-constexpr
источник

Rn

Roman na in pro.cxx
Constantine Drozdov
это означает, что один и тот же итоговый результат, как правило, можно получить миллионом способов, но только один (реже единицы) из них правильный
И? никаких других способов не предлагается. Ничего не обсуждается
источник

CD

Constantine Drozdov in pro.cxx
Roman na
И? никаких других способов не предлагается. Ничего не обсуждается
Какую задачу мы решаем?
источник

Rn

Roman na in pro.cxx
Constantine Drozdov
Какую задачу мы решаем?
Ну вот выше задачи указаны. Вывод noexcept тот же
источник

CD

Constantine Drozdov in pro.cxx
Roman na
Ну вот выше задачи указаны. Вывод noexcept тот же
Напишите утилиту, которая проставит noexcept за вас. Задача решена?
источник

Rn

Roman na in pro.cxx
Constantine Drozdov
Напишите утилиту, которая проставит noexcept за вас. Задача решена?
нет, не решена. Внешнее решение не считается решением. Решение нужно в рамках языка. К тому же, мусор из кода никуда не делся.
источник

CD

Constantine Drozdov in pro.cxx
В рамках языка комитет стремится максимально сохранять принцип соответствия декларации документации, пока это возможно, и причины этого понятны. Языковой вывод noexcept из тела функции нарушит это свойства.
источник

Rn

Roman na in pro.cxx
зачем тебе auto? Напиши утилиту, что поставить типы за тебя. Зачем тебе шаблоны? Напиши утилиту.
источник

Rn

Roman na in pro.cxx
Constantine Drozdov
В рамках языка комитет стремится максимально сохранять принцип соответствия декларации документации, пока это возможно, и причины этого понятны. Языковой вывод noexcept из тела функции нарушит это свойства.
Чего он там нарушает? К тому же почему вдруг потерялись объяснения про "к чему было про утилиту"? И какие принципы?
источник

Rn

Roman na in pro.cxx
поподробнее
источник

АР

Андрей Руссков... in pro.cxx
Constantine Drozdov
Напишите утилиту, которая проставит noexcept за вас. Задача решена?
звучит как задача всего на пару... месяцев
источник

Rn

Roman na in pro.cxx
Андрей Руссков
звучит как задача всего на пару... месяцев
да не, на день/два от силы, если как-то знаком с темой
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
звучит как задача всего на пару... месяцев
да она решена в сатанализаторах
источник

АР

Андрей Руссков... in pro.cxx
хм. А почему этого нет в clang-tidy? )
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
хм. А почему этого нет в clang-tidy? )
noexcept без контракта и потери типов нужен в полутора случаях (сходу вспомнил move_if_noexcept), а в динамическом полиморфизме невозможен
источник

АР

Андрей Руссков... in pro.cxx
а вообще существует множество методов в интерфейсах библиотек которые на самом деле являются noexcept но не помечены таковыми чтобы не ломать совместимость в случае, если придется-таки добавлять исключения
источник