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. 模板功能
- 4. 模板功能
- 5. 模板类功能
- 6. C++模板功能
- 7. GCC模板功能
- 8. Typedef模板功能
- 9. 从模板功能
- 10. Go模板功能
- 11. Wikiversity模板功能
- 12. 模板功能 - 模板是否覆盖正常功能
- 13. 参考模板参数功能模板
- 14. 功能上的模板模板参数
- 15. 模板功能模板参数
- 16. 在模板类使用模板功能
- 17. 从模板内绑定模板功能
- 18. 转到模板和功能
- 19. C++模板交换功能
- 20. 在线模板功能
- 21. 模板功能错误
- 22. 导出模板功能
- 23. construct_heap模板类功能
- 24. 使用功能模板
- 25. docutils/reStructuredText模板功能
- 26. 模板类,功能专业
- 27. 私人模板功能
- 28. 组织模板功能
- 29. 覆盖模板类功能
- 30. 模板功能compilng错误