当前位置:  开发笔记 > 编程语言 > 正文

自动类模板?

如何解决《自动类模板?》经验,为你挑选了1个好方法。

有没有办法让编译自动推导出模板参数?

template 
struct TestA 
{
    TestA(T v) {} 
};
template
void TestB(T v)
{
}
int main()
{
    TestB (5);
}

测试B工作正常,但是当我将其更改为TestA时,它将无法编译错误"使用类模板需要模板参数列表"



1> 小智..:

不,没有.永远不会推断出类模板.通常的模式是具有make_自由功能:

template TestA make_TestA(T v)
{
    return TestA(v);
}

例如,见std::pairstd::make_pair.

在C++ 0x中,您将能够做到

auto someVariable = make_TestA(5);

避免必须指定局部变量的类型.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有