我目前正在处理其他人编写的一些代码,我不确定他们的方法的效率。他们有一个模板类,它使用范围解析来访问类的成员,而不是拥有一个指向模板化类的指针并以这种方式访问它。例如:
template <typename T>
class A {
void func() {
T::DoSomething();
}
};
class B {
static void DoSomething() {
// code...
}
};
我个人觉得它使模板类难以理解,但我的主要查询领域是性能。哪个更有效率;使用范围解析,或拥有私有成员变量A::T* p_blah
并使用?调用B
函数p_blah->DoSomething()