gpt4 book ai didi

c++ - 如何以编程方式调用具有不同数据类型的 C++ 模板函数?

转载 作者:搜寻专家 更新时间:2023-10-31 01:16:53 25 4
gpt4 key购买 nike

在我的 C++ 程序中,我需要调用具有不同数据类型的模板函数(intfloatdoublechar 等)并运行方法 bar1()bar2()

如何在不必为每种类型显式编写调用的情况下做到这一点?

foo<int>::bar1()
foo<int>::bar2()
foo<int>::bar3()
...


foo<float>::bar1()
foo<float>::bar2()
foo<float>::bar3()
...

最佳答案

由于它们在您的示例中是 void 函数,您能否重写它们以便推断类型?像这样:

template <class T>
void example(const T& v)
{
// do something profound and meaningful here.
foo<T>::bar1();
foo<T>::bar2();
foo<T>::bar3();
}

现在可以通过传递给函数的参数推断模板类型:

int x = 0;
double y = 0;
bool b = false;
std::string s = "Hello";

example(x);
example(y);
example(b);
example(s);

关于c++ - 如何以编程方式调用具有不同数据类型的 C++ 模板函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8669059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com