#include<iostream>
using namespace std;
template<int N> class Prime
{ // generate N prime numbers at compile time
public:
unsigned int arr[N]{};
constexpr Prime() {
int k=0;
for(unsigned int i=2; k<N; i++) {
bool isPrime = true;
for(int j=0; j<k; j++) {
if(arr[j] > i/2) break;
if(i % arr[j] == 0) {
isPrime = false;
break;
}
}
if(isPrime) arr[k++] = i;
}
}
};
int main()
{
Prime<50000> prime; // if 50000->5000, ok
for(auto& a : prime.arr) cout << a …Run Code Online (Sandbox Code Playgroud) c++ templates compiler-errors compile-time-constant constexpr
我现在正在学习 boost::compute openCL 包装库。我正在经历非常缓慢的复制过程。
如果我们将 CPU 到 CPU 的复制速度缩放为 1,那么 GPU 到 CPU、GPU 到 GPU、CPU 到 GPU 的复制速度有多快?
我不需要精确的数字。只是一个一般的想法将是一个很大的帮助。例如,CPU-CPU 至少比 GPU-GPU 快 10 倍。
如果我喜欢这个
f() + g();
Run Code Online (Sandbox Code Playgroud)
或者像这样
h(f() + g());
Run Code Online (Sandbox Code Playgroud)
在C++中是否保证首先调用f()?