c++ - typedef 具有所有默认参数的模板

标签 c++ templates default typedef readability

我声明了一个模板类,所有参数都具有默认参数,例如:

template<typename TYPE = int>
class Foo {};

那么下面两个是等价的:

Foo<int> one;
Foo<> two;

但是,我不能这样做:

Foo three;

是否可以使用相同名称但没有括号的 typedef 来实现这一点,如下所示:

typedef Foo<> Foo;

最佳答案

我做了类似下面的事情,不知道你喜不喜欢:

template<typename TYPE = int>
class basic_Foo {};

typedef basic_Foo<int> Foo;

关于c++ - typedef 具有所有默认参数的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6316661/

相关文章:

c++ - Boost MPL 嵌套 lambda

templates - 在 C++ 模板类中重载 () 运算符时出错

c++ - 我如何检查模板是否编译出来?

c++ - 两个重叠的互斥锁会导致死锁吗?

c++ - 为什么在 Ubuntu 18.04.1 的 netinet 中没有定义 in_addr6?

java - 来自 http 调用和表单的 Meteor 动态模板

default - jboss 5 更改默认端口

Python单元测试测试是模拟错误的输入

json - Play Scala JSON 正文解析器默认值字段

c++ - 解码由 GetAdaptersAddresses Windows API 函数返回到内存中的 IP_ADAPTER_ADDRESSES 结构?