2008年3月28日 星期五

[note] Qualified name 與 Dependent name

這是 C++ template 中對於名稱的兩個最主要的命名方式,

Qualified name:當一個名稱被以 :: 或 . 或 -> 給指明其作用域時,這個名稱稱為 qualified name (受飾名稱)

Dependent name: 當一名稱受控於某個 template parameter 時,這個名稱稱為 dependent name (受控名稱),例如 T 是個 template parameter 時,std::vector<T>::iterator 為一個 dependent name;而當 T 是個已知型別時(如 int),則 std::vector<T>::iterator 為一個 nondependent name。

參考自 C++ Templates 全覽 (侯捷譯)

沒有留言: