c++ - 将模板类本身定义为一个类型

标签 c++ templates

我正在学习模板知识,发现了一些模板用法,比如

template<typename T> struct myclass
{
...
   typedef myclass type;
...
}

根据我的理解,我只能使用指定了 T 的“myclass”。喜欢

myclass<int> member;

现在它将“myclass”定义为“type”而不指定 T,所以我想知道在哪种情况下将使用“type”。

一个例子将不胜感激。

最佳答案

myclass<T> 的正文内部, 标识符 myclassmyclass<T> 的同义词, 所以该行等同于:

typedef myclass<T> type;

关于c++ - 将模板类本身定义为一个类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39510502/

相关文章:

c++ - 如何从 boost 线程访问我的类实例?

c++ - SDL 应用程序的 Makefile 仅在项目提前构建时运行

c++ - 如何使用资源文件(txt - 制表符分隔)作为 win32 应用程序的数据源

c++ - 根据模板函数直接定义非模板函数

python - 如何将值传递给 Tornado 中的模板

c++ - 为什么必须在何处以及为什么要放置"template"和"typename"关键字?

c++ - 忽略函数的默认模板参数

javascript - mustache.js 中的三个 {{{ }}} 是什么意思?

c++ - 如何避免在 allocator<T, N> c++17 中重新绑定(bind)

c# - 将代码段从 C++ 转换为 C#