目标:将下面3层for循环的代码进行优化:
#include <iostream>
#include <vector>
#include <pthread.h>
using namespace std;
typedef vector< vector<long> > lvec;
long arr[1000][5000] = {};
long acculate(int, int);
lvec& forarr(lvec&, long, long);
int main()
{
long sum(0);
lvec ivec;
ivec.resize(1000);
for (long i=0; i<1000; ++i) {
for (long j=0; j<5000; ++j)
ivec[i].push_back(j);
}
cout << ivec[999][4999] << endl;
for (long i=0; i<1000; ++i) {
ivec = forarr(ivec, i, 0);
pthread_t id;
int ret = pthread_create(&id, 0, forarr, 0);
if (!ret)
cout << "failed to create thread!" << endl;
ivec = forarr(ivec, i, 2500);
}
cout << ivec[999][4