0
我目前正在編寫其他人編寫的代碼,但我不確定其方法的效率。他們有一個模板類,它使用作用域解析來訪問類的成員,而不是指向模板化類並訪問它。例如:作用域分辨率到模板類中的靜態函數或指針
template <typename T>
class A {
void func() {
T::DoSomething();
}
};
class B {
static void DoSomething() {
// code...
}
};
我個人覺得它使模板類很難理解,但我查詢的主要領域是性能。哪個更有效率;使用示波器分辨率,或者使用私有成員變量A::T* p_blah
並使用p_blah->DoSomething()
調用B
的函數?
我也這麼想。那麼使用靜態函數方法是否沒有缺陷? (假設類沒有成員變量) – Edward
如果通過「使用靜態函數方法」,你的意思是調用'B :: foo()'然後no。你的觀點認爲它讓班級「更難理解」並不合理。當它打算成爲一個靜態調用時,放置一個'ptr-> foo()'會「模糊」模板。 – Mat