C 方法定义具有模板
C++ Method definition with templates
我是全职C 编程的新手
我正在使用一个小型项目中的模板,主要是在我学习的过程中构成代码,并且遇到了一些我不确定的事情。Visual Studio帮助我生成(在我的.h文件中的.cpp文件中)代码等同于此:
template<class T>
PriorityQueue<T>::ClimbDownHeap(const int currentNodeIndex)
{
}
template<class T>
PriorityQueue<T>::GetRightNodeIndex(const int currentNodeIndex)
{
}
我的印象是,这同样有效:
template <class T>
class PriorityQueue
{
public:
ClimbDownHeap(const int currentNodeIndex)
{
}
private:
GetRightNodeIndex(const int currentNodeIndex)
{
}
};
我的理解可能是错误的,但是至少到目前为止,这似乎都会汇编。这两种样式之间有显着差异吗?我更喜欢第二个,因为它对我来说更加干净和清晰。这些之间的细微差别是什么?
注意:在颠簸的火车上键入此内容,因此我对格式化问题或不清楚代码表示歉意(我是从我尝试过的记忆中键入的;这不是准确的)。
如果要使用其他文件中的模板类,则必须将模板代码放入标题中。有效地放入源文件使其成为私人(通过使链接不可能)。
正如詹姆斯在评论中提到的那样,请阅读此处的详细说明和示例。
相关文章:
- 在方法定义中显式指定命名空间
- 没有针对完全专用模板类的外联虚拟方法定义
- 将虚拟方法定义为私有方法时会发生什么情况?
- 单独的类声明和方法定义文件问题
- Eclipse CDT 不了解方法定义是什么
- C 方法定义具有模板
- Eclipse CDT将方法定义定义到标头文件
- 模板方法定义的问题 - 错误C2244:无法将函数定义与现有声明匹配
- 如何为 Product* getProductFromID(std::string)编写方法定义;.
- gdb 中的方法定义没有源代码
- 方法定义中的错误"passing const List<int> as this argument discards qualifiers"
- Sendmessage在方法定义内部无法正常工作
- C 公共方法定义后定义
- C++模板方法定义在类中不匹配
- 为什么通用模板方法定义与模板类专用化不匹配?
- 方法定义中的C++模板参数
- C++方法定义和变量声明
- 在继承层次结构中将方法定义为虚拟方法一次,以使多态性发挥作用
- 未为非访问器方法定义C++类属性
- 无法将一个类的方法定义为另一个类的好友