gpt4 book ai didi

c++ - C++ 模板中的特殊情况

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

我目前必须优化另一个程序员的代码。他给我留下了很多模板类,我想利用英特尔 IPP-Library 中的函数来加速计算。问题是,大多数时候这些函数要求您知道您使用的是什么数据类型。所以我想重写模板,以便在可以优化操作的情况下使用专门的代码。如果它不能,它应该回退到原始代码。

问题是我需要检查是否正在使用某种数据类型,但我不知道该怎么做。

一个例子。我想做这样的事情:

 template < class Elem > class Array1D
{
Array1D<Elem>& operator += (const Elem& a)
{
if (typeof(Elem) == uchar)
{
// use special IPP operation here
}
else
{
// fall back to default behaviour
}
}

关于如何做到这一点有什么想法吗?最好没有其他库的帮助。

谢谢

最佳答案

在我看来,您的用例是 Template Specialization 的完美场景.

关于c++ - C++ 模板中的特殊情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9001638/

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