Size: a a a

2020 August 27

CD

Constantine Drozdov in pro.cxx
да, именно "сохранять принцип соответствия декларации документации"
источник

АР

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

Rn

Roman na in pro.cxx
Constantine Drozdov
да, именно "сохранять принцип соответствия декларации документации"
Что это за принципы такие и где и кто им следует?
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
не совсем. Скажем если я делаю интерфейс на один класс, я вполне могу проставлять noexcept-ы везде где обоснованно пожелаю )
ну std::vector::operator [] не noexcept
источник

АР

Андрей Руссков... in pro.cxx
Constantine Drozdov
ну std::vector::operator [] не noexcept
как всегда с MSVC, единственное что могу ответить - "ой, всё"
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
как всегда с MSVC, единственное что могу ответить - "ой, всё"
ах да, там стоит ссылка на пункт, разрешающий его добавить любой функции)
источник

АР

Андрей Руссков... in pro.cxx
любой реализации* ?
источник

CD

Constantine Drozdov in pro.cxx
ну "к любой функции" в рамках реализации, да
источник

АР

Андрей Руссков... in pro.cxx
по факту даже у msvc в релизе std::vector::operator[] должен быть помечен как noexcept
источник

Rn

Roman na in pro.cxx
Constantine Drozdov
ну std::vector::operator [] не noexcept
В какой вселенной? https://godbolt.org/z/osch4b
источник

АР

Андрей Руссков... in pro.cxx
во вселенной стандарта языка с++ )
источник

АР

Андрей Руссков... in pro.cxx
источник

Rn

Roman na in pro.cxx
Андрей Руссков
во вселенной стандарта языка с++ )
ну т.е. в мусорных реализациях stdlib?
источник

Rn

Roman na in pro.cxx
потому как во всех нормальных - он помечен - https://godbolt.org/z/5qvYbc
источник

AP

Alexander Potapov in pro.cxx
Вообще по-хорошему компилятор должен сам неявно его проставлять если видит что исключения не кидаются
источник

АР

Андрей Руссков... in pro.cxx
хех к сожалению компилятор из "большой тройки" сложно официально признать "мусорным"
источник

АР

Андрей Руссков... in pro.cxx
Alexander Potapov
Вообще по-хорошему компилятор должен сам неявно его проставлять если видит что исключения не кидаются
бинарная совместимость может нарушаться если его неявно проставлять
источник

AP

Alexander Potapov in pro.cxx
Андрей Руссков
хех к сожалению компилятор из "большой тройки" сложно официально признать "мусорным"
Ну msvc я бы таким мог назвать
источник

Rn

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

AP

Alexander Potapov in pro.cxx
В вендоус можно чем угодно собирать
источник