[英]Scope Resolution to a Static Function or a Pointer in Template Class
我正在研究其他人編寫的一些代碼,我不確定他們方法的效率。 它們有一個模板類,它使用范圍分辨率來訪問類的成員,而不是指向templatised類並以這種方式訪問它。 例如:
template <typename T>
class A {
void func() {
T::DoSomething();
}
};
class B {
static void DoSomething() {
// code...
}
};
我個人認為它使模板類難以理解,但我的主要查詢領域是性能。 哪個更有效率; 使用范圍解析,或具有私有成員變量A::T* p_blah
並使用p_blah->DoSomething()
調用B
的函數?
范圍解析完全在編譯時發生。 該代碼中使用的方法產生直接的,可嵌入的函數調用。 你無法真正擊敗它。
你的建議:
A
(增加其大小)或全局(總是有問題的)中 簡而言之,它幾乎沒有機會像你現在擁有的那樣高效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.