void *pData = malloc(sizeof(double)*xsize*ysize*1/8); memset(pData,0x00,sizeof(double)*szize*ysize*1/8); ... /*do something and give some values to some pixels*/ ... std::vector<double> resultVec(xsize*ysize); memcpy((void*)&resultVec[0],pData,sizeof(double)*xsize*ysize);