我们可以在没有模板类的普通类中声明template
函数,还是应该总是在template class
之内?C++中的模板
Q
C++中的模板
3
A
回答
2
我们可以在一个普通的类声明模板函数同出一模板类
我们可以。例如
class demo
{
public:
template <typename T>
void func(const T& x) {
//do stuffs
}
};
int main()
{
demo d;
d.func<int>(5);
}
是完全有效
2
是的,你可以在非模板类模板函数的支持,例如:
struct X {
template<class T>
void f(const T& t) {
// ...
}
};
0
是的,你可以,但要确保你的定义和模板函数的声明是在头文件。如果你想知道更多为什么这样或更多关于模板一般我可以推荐你这本书Templates - Complete Guide
相关问题
- 1. 如何避免在c + +中的“模板模板模板”模板
- 2. C++中模板映射的模板14
- 3. C++模板中的模板对象
- 4. 模板调用中的C++模板
- 5. 模板的模板C++
- 6. C++模板模板
- 7. C++中,非模板类模板变量
- 8. C++模板模板(双模板?)
- 9. 评估模板(模板模板参数)的C++模板参数
- 10. C++,模板模板规范
- 11. 模板模板C++函数
- 12. C++中的模板列表
- 13. C++中的模板向量
- 14. C++中的模板参数
- 15. C++模板中的特例
- 16. C++中的模板实例
- 17. C++中的模板断言?
- 18. C++ Basic中的类模板
- 19. C++中的模板继承
- 20. C++中的模板问题
- 21. C++中的模板类
- 22. C++中的模板函数
- 23. C++中的模板类
- 24. C++中的模板编程
- 25. 关于C++中的模板
- 26. Java中的C++模板
- 27. Android NDK中的C++模板
- 28. vim中的C++模板
- 29. 模板在C++中的宏?
- 30. C++中的类模板中的模板类
我认为你的意思是“班级模板”。一个类模板,比如'template struct Foo {};'是一种模板,但不是一种类。同样,“功能模板”是另一种模板,而不是功能。 –
MSalters
2010-11-15 09:56:18
这已经是一个骗局 – 2010-11-15 13:23:28