小编ent*_*edX的帖子

将模板类作为参数传递给函数

如果我使用诸如的模板定义类

template<class K, class V>
class myclass {
...
};
Run Code Online (Sandbox Code Playgroud)

有没有办法将myclass定义的对象传递给函数而不使用函数的模板?换句话说,对于每个接受myclass对象的函数,是否还需要使用模板<class K,class V>来定义?

这样做的主要原因是我想定义一组作用于myclass对象的静态函数,这样我就可以在cpp文件中而不是在头文件中限制这些函数的范围.

c++ templates

11
推荐指数
3
解决办法
1万
查看次数

C++方法模板专门化仅适用于一个索引

我想只为一个类的一个索引执行模板特化.例如,在下面的代码中,我想在第一个类为int时创建一个特化,而不管第二个类是什么.有没有办法实现这个?

template <class K, class V>
class myclass {
    public:
        void myfunc(K,V);
};

template <class K, class V>
myclass<K,V>::myfunc(K key, V value) {
...
}

template< ,class V>
myclass<int,V>::myfunc(int key, V value) {
...
}
Run Code Online (Sandbox Code Playgroud)

c++ templates template-meta-programming

4
推荐指数
1
解决办法
213
查看次数

OpenMP 开销计算

给定 n 个线程,有没有一种方法可以计算在 OpenMP 中实现特定指令所需的开销(例如循环数)。

例如,给定下面的代码

 #pragma omp parallel
 {
    #pragma omp for
    for( int i=0 ; i < m ; i++ )
       a[i] = b[i] + c[i];
 }
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式计算创建这些线程需要多少开销吗?

c++ parallel-processing openmp

4
推荐指数
2
解决办法
6638
查看次数

所有的NP问题都是NP完全的吗?

NP-complete的定义是

如果是,问题是NP完全

  1. 它属于NP类
  2. NP中的所有其他问题多项式转换为它

因此,如果NP中的所有其他问题转化为NP完全问题,那么这是否也意味着所有NP问题也是NP完全的?如果它们是相同的,那么对两者进行分类有什么意义呢?

换句话说,如果我们有NP问题那么通过(2)这个问题可以转化为NP完全问题.因此,NP问题现在是NP完全的,NP = NP完全.这两个类都是等价的.

试图为自己澄清这一点.

complexity-theory computer-science np-complete np

3
推荐指数
2
解决办法
2366
查看次数