我可以調用成員模板,模板模板成員函數嗎?或者我怎麼知道將其稱爲成員模板,以及它是如何理解的?什麼是會員模板?
例如:
對於情況答:我有一個類,如果我做它的成員函數模板成員函數,我把它叫做一個成員模板?對於情況B:我有一個模板類,如果我將它的模板成員函數作爲模板,我會將其稱爲成員模板,還是可以將其稱爲模板模板成員函數?
我可以調用成員模板,模板模板成員函數嗎?或者我怎麼知道將其稱爲成員模板,以及它是如何理解的?什麼是會員模板?
例如:
對於情況答:我有一個類,如果我做它的成員函數模板成員函數,我把它叫做一個成員模板?對於情況B:我有一個模板類,如果我將它的模板成員函數作爲模板,我會將其稱爲成員模板,還是可以將其稱爲模板模板成員函數?
對於這兩種情況你稱它爲成員模板。
template<typename T>
struct A {
// this is not a template
void f();
// but this is a member template
template<typename T> void g();
};
這是一個成員模板,因爲它是一個模板成員。成員函數f
不是模板,而是類模板的成員函數。在C++中,不幸的是,這樣的事情沒有一個明確的術語,所以恰巧在標準中制定了某些規則來申請模板,但也打算應用於類模板的成員函數。許多規則需要列出所有喜歡的組合,如
function template
member function of class template
member function of nested class of a class template
member function template
...
同樣適用於類模板的成員類。有人建議調用成員函數/類模板temploid或類似的東西。 Work is under way來解決這種狀況,但。
有一個問題,在這兩種情況下將它們稱爲成員函數模板是否也有意義? – user103214
+1用於解釋術語temploid - –
找到一本關於C++的書,比如The C++ Programming Language。像這樣的每個問題都可以輕鬆解決。 – xis
你怎麼稱呼它有什麼關係?當你必須把它描述給別人時,只表明你的意思。 (這將幫助我理解你在這裏也採取了什麼) – Dani
我的意思是你怎麼仍然可以用另一個模板,一個成員模板調用成員模板函數?我覺得這個術語有點混亂。 – user103214