Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.125.219] |
|
Страницы: (6) « Первая ... 4 5 [6] все ( Перейти к последнему сообщению ) |
Сообщ.
#76
,
|
|
|
Цитата Eric-S @ Аналогичную ошибку я получаю, если напишу: static_assert( noexcept( (someclass< stub_object, false >()).~someclass() ), "noexcept destructor" ); Для деструктора надо полностью имя прописывать static_assert( noexcept( (someclass<stub_object, false>()).someclass<stub_object, false>::~someclass() ), "noexcept destructor" ); Здесь, наверное, лучше использовать std::declval<someclass< stub_object, false >>()......... |
Сообщ.
#77
,
|
|
|
Цитата Олег М @ Для деструктора надо полностью имя прописывать static_assert( noexcept( (someclass<stub_object, false>()).someclass<stub_object, false>::~someclass() ), "noexcept destructor" ); О! Не знал. Спасибо. Но объявление конструктора мне ломает независимость проверки деструктора. Если конструктор noexcept( false ), то провал. Добавлено Цитата Олег М @ Здесь, наверное, лучше использовать std::declval<someclass< stub_object, false >>()......... А вот так совсем чудненько static_assert( noexcept( ( declval< someclass< stub_object, false > >() ).someclass< stub_object, false >::~someclass() ), "noexcept destructor" ); |
Сообщ.
#78
,
|
|
|
Забил бы ты на эти деструкторы. Исключения в них это экзотика, а усилий тратишь кучу
|
Сообщ.
#79
,
|
|
|
Цитата Олег М @ Забил бы ты на эти деструкторы. Исключения в них это экзотика, а усилий тратишь кучу Уже всё. Отвлёкся вот на пару минут, для коррекции кода и написании ответа и пошёл заниматся другими делами. У меня в todo list большой список пунктов. А за эту ночь, я его сократил на 6 пунктиков. И ни один из них не косался деструкторов и noexcept. |
Сообщ.
#80
,
|
|
|
Цитата Eric-S @ static_assert( noexcept( (someclass<stub_object, false>()).someclass<stub_object, false>::~someclass() ), "noexcept destructor" ); О! Не знал. Спасибо. Но объявление конструктора мне ломает независимость проверки деструктора. Если конструктор noexcept( false ), то провал Это потому что ты перед вызовом деструтора вызывал конструктор |
Сообщ.
#81
,
|
|
|
Цитата Олег М @ а усилий тратишь кучу Ну, зато вот всякое интересное узнал по ходу. Да ещё пару косвенных багов откопал, которые мог бы и не заметить. Так что нормуль, остался с двойным профитом и чувством удовлетворения. Добавлено Цитата Олег М @ потому что ты перед вызовом деструтора вызывал конструктор Угу. Догадался сразу. Поэтому и проверку сделал. |