Можно ли написать обертку для библиотеки броненосцев как constexpr? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть опыт в ООП, но я только начал играть с 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, чтобы обертка не добавляла каких-либо накладных расходов на его использование.

Если это невозможно, каков наилучший способ реализовать это, чтобы не замедлять работу программы?

Идея состоит в том, чтобы позволить мне переключать библиотеку математики, которую я использую, просто изменив один файл, который включает только те функции, которые мне нужны

...