Надо понять куда пихать noexcept, 2 совсем мелких вопроса + бонус вопрос для меня про(.inl)
Есть файлы:
/*A.hpp для объявления*/
void sum();
/*A.inl для определения*/
void sum(){/*что-то*/};
Не очень понимаю, в каком файле ставить noexcept, то есть я уверен что исключений не будет, а так же понимаю что правильнее будет поставить в объявлении void sum() noexcept; и после в определении void sum() noexcept {/*что-то*/};.
Допустим с inline понятно. Если я поставлю в файле определения inline, то я попрошу компилятор встроить его в объявление. А если вставлю inline соответственно в объявлении, то компилятор мб встроит его когда буду вызывать уже где-то. Тут вопросов нету. (с inline просто пример,тут мне понятно)
вопрос 1 Куда мне вставлять noexcept, в объявление или в определение? Выбираю ответ и туда и туда, но тут я не оч уверен Х)
вопрос 2 Почему видя проекты написанные недавно, я замечаю что noexcept появляется очень редко или в прицепи его вообще нету. Ведь если я уверен что точно не будет исключения, почему не ускорить выполнение спамя noexcept везде где возможно? (речь сейчас о моментах где уверен что не упадёт приложение)
бонус-вопрос Много чего видел и в этом многом часто используют разные форматы для разделения, оценил, удобно. Но несёт ли какой-то скрытый посыл использование формата .inl (конкретно этого формата) ? (Спасибо @user7860670 подтолкнул на ответ,как я понял Нет не несёт скрытого смысла Вопрос отпрадает)
Иногда попадаются такие тонкости и хз где находить подобное, вроде пишут, но не заостряют внимания на мелочах =)