2
Q
模板功能
A
回答
13
template<>
表示該功能是模板專用化。第二個<float>
意味着這是float
的專業化。
例如:
#include <iostream>
template <class T> void somefunc(T arg) {
std::cout << "Normal template called\n";
}
template<> void somefunc<float>(float arg) {
std::cout << "Template specialization called\n";
}
int main(int argc, char *argv[]) {
somefunc(1); // prints out "Normal template called"
somefunc(1.0f); // prints out "Template specialization called"
return 0;
}
2
這是一個專門的模板功能。當你嘗試專門化一個通用模板函數時會發生這種情況。 通常你將有另一次減速度
template<typename T> float func(char *txt) {
T vars[1024];
blah blah
}
這種事有時你想要做某些類型T在前面的例子中專門聲明,如果T是布爾類型,你可能要改變瓦爾陣列的行爲以節省一些空間(因爲每個布爾入口可能仍然需要32位)。
template<> float func<bool>(char *txt) {
int vars[32];
blah blah
}
通過定義一個特殊版本,你被允許來操作逐位 方式瓦爾陣列。
相關問題
- 1. 模板功能
- 2. 功能模板
- 3. C++模板功能
- 4. Go模板功能
- 5. 從模板功能
- 6. Wikiversity模板功能
- 7. GCC模板功能
- 8. 從模板內綁定模板功能
- 9. 參考模板參數功能模板
- 10. 在模板類使用模板功能
- 11. 轉到模板和功能
- 12. 導出模板功能
- 13. 模板類,功能專業
- 14. 組織模板功能
- 15. docutils/reStructuredText模板功能
- 16. 功能如模板參數
- 17. C++模板交換功能
- 18. 朋友功能和模板
- 19. 模板功能和類
- 20. 模板功能區別
- 21. 覆蓋模板類功能
- 22. 使用功能模板
- 23. 在線模板功能
- 24. C++未能專注功能模板'iterator_traits'
- 25. 帶有編譯VS模板功能的角動態模板?
- 26. 功能模板專業化(以int值爲模板)
- 27. 當模板參數相同時,C++優化類模板功能
- 28. 非模板功能模板類的朋友
- 29. 如何* .INL文件模板類中定義模板功能
- 30. 呼叫從一個模板類中的模板功能