У меня есть опыт в ООП, но я только начал играть с c ++,
У меня есть класс Vec2d, который является оберткой для броненосца fvec2,
Я пишу такие функции, как:
inline real mag() const
{
return sqrt(arma::sum(vec % vec));
}
Или
inline void addScaledVec(Vec2d vector, real scalar)
{
vec += (vector.vec * scalar);
}
Но у меня есть ощущение, что это может быть лучше реализовано как constexpr, чтобы обертка не добавляла каких-либо накладных расходов на его использование.
Если это невозможно, каков наилучший способ реализовать это, чтобы не замедлять работу программы?
Идея состоит в том, чтобы позволить мне переключать библиотеку математики, которую я использую, просто изменив один файл, который включает только те функции, которые мне нужны