2010-06-22 47 views
0

雖然經歷了一些我碰到一個結構傳來mili源代碼的聲明如下:不熟悉結構/類的聲明與模板

template <class T, class Pre, class Pos> 
struct PrePosCaller<T*, Pre, Pos> 

(從here

我不熟悉的部分與<T*, Pre, Pos>。我理解代碼在這方面的作用和目的,但我想知道它在哪裏記錄,所以我可以更多地瞭解/理解它。

回答

2

這是一個模板專業化。特別是部分專業

某處在代碼中有一個模板聲明:

template <class T, class Pre, class Pos> 
struct PrePosCaller { //... 
}; 

或類似的東西。然後他們爲第一個參數是指針類型的情況提供了該模板的專門化。也就是說,當模板的第一個參數是指針時,這是PrePosCaller的模板定義。

+0

+ 1-現在我知道它叫什麼了。 – 2010-06-22 14:29:29

3

我想知道它是記錄

如果你正在尋找一個介紹以及背景對象,讓自己的C++ Templates: The Complete Guide副本。
雖然權威性文檔本身就是C++標準,但沒有一個很好的書面概述就沒有辦法處理它。

1

Thinking in C++ Vol. 2提供模板和一些相關技術的教學觀點。它也是關於C++的一個很好的閱讀。它是免費的。

+0

鏈接已損壞。 – 2010-06-22 14:43:44

+0

對不起,修正了它。 – 2010-06-22 14:52:51