首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于重载构造函数的策略类模板参数选择

基于重载构造函数的策略类模板参数选择
EN

Stack Overflow用户
提问于 2012-03-09 02:37:20
回答 1查看 400关注 0票数 2

我希望模板类根据传递给构造函数的类的类型自动选择它的参数。对象已有类型。

代码语言:javascript
运行
复制
InputA a;
InputA a2;
InputB b;

这些类型应该由构造函数来理解

代码语言:javascript
运行
复制
out<>(a) out; 

代码语言:javascript
运行
复制
out<InputA>(a) out;

代码语言:javascript
运行
复制
out<>(a2) out;

代码语言:javascript
运行
复制
out<InputA>(a2) out; 

代码语言:javascript
运行
复制
out<>(b) out;

代码语言:javascript
运行
复制
out<InputB>(b) out;

定义模板参数(策略)似乎是多余的,因为模板参数可以从输入参数的类型中提取出来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-09 02:56:39

这是发生在std::pair上的相同问题。这个问题的标准解决方法是定义一个模板工厂(如std::make_pair())。

例如:

代码语言:javascript
运行
复制
template<class policy>
out<policy> make_out(policy p)
{
    return out<policy>(p);
}

auto o = make_out(a);
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9622945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档