了解模板中的Typedef
understanding typedefs inside templates
我正在检查一个示例代码,该代码试图教授州立形式的实施。我在模板中看到Typedefs,例如typedef typename T::HostClass Host
为了清楚起见,模板定义为
template<typename T>
struct Init {
typedef typename T::HostClass Host;
Init(Host& h) :
host_(h) {
}
~Init() {
T::entry(host_);
T::init(host_);
}
Host& host_;
};
我知道typedef
旁边的typename
的目的,并且正在解释Highly-Typed-Languages
,例如C++
(伙计,对吗?是吗?是吗?是吗?)
混乱在HostClass
在typedef typename T::HostClass Host;
- 什么是
HostClass
? - 这是否意味着任何类型T都必须具有成员
HostClass
?
HostClass
必须是T
的范围中的嵌套类或其他类型(或别名类型)。
,如果T
没有它,则代码将不会编译。
相关文章:
- C++:TypeDef使用元组
- 正在尝试了解输入验证循环
- 了解 GLM- openGL 中的相机转换
- C++我需要了解在哪里使用指针和双指针
- 如何深入了解明显的腐败
- 有没有一种方法可以通过"typedef"为重新定义的基本类型定义特征和强制转换运算符
- 了解嵌套循环打印星号图案
- 为什么在使用typedef时类推导指南会失败
- 尝试根据类中 typedef 的存在来专门化模板函数
- 了解每月第一天函数的代码
- 如何重新定义MPI_FLOAT,MPI_DOUBLE以 typedef 的方式
- typedef 枚举和枚举类有什么区别?
- 了解C++标准::shared_ptr
- 尝试了解在导入的静态方法上使用删除方法时的错误
- C++:需要帮助了解运算符重载错误
- 在类模板中使用 typedef 时出错
- 在学习数据结构之前对STL有一个了解是好的吗?
- 了解算法的性能差异(如果以不同的编程语言实现)
- 了解复杂的Typedef表达式
- 了解模板中的Typedef