Недавно я использовал этот синтаксис для try-catch
для функции.
struct A
{
int a;
A (int i) : a(i) // normal syntax
{
try {}
catch(...) {}
}
A () // something different
try : a(0) {}
catch(...) {}
void foo () // normal function
try {}
catch(...) {}
};
Оба синтаксиса допустимы. Есть ли какая-либо техническая разница между этими синтаксисами, помимо стиля кодирования? Является ли один из синтаксисов выше других по любому аспекту?