В настоящее время я работаю над кодом, который написал кто-то другой, и я не уверен в эффективности их метода. У них есть класс-шаблон, который использует разрешение области для доступа к членам класса вместо указателя на класс-шаблон и доступа к нему таким образом. Например:
template <typename T>
class A {
void func() {
T::DoSomething();
}
};
class B {
static void DoSomething() {
// code...
}
};
Я лично считаю, что это затрудняет понимание класса шаблона, но моя основная область запроса — производительность. Что более эффективно; используя разрешение области или имея закрытую переменную-член A::T* p_blah
и вызывая функцию B
с помощью p_blah->DoSomething()
?