假设我有四个unsigned char数组的toatl,它们被添加到地图容器中,如下所示:
std::map<std::string, unsigned char*> UCArray;
UCArray.insert(std::make_pair("A1", new unsigned char[10000]));
UCArray.insert(std::make_pair("A2", new unsigned char[10000]));
UCArray.insert(std::make_pair("A3", new unsigned char[10000]));
UCArray.insert(std::make_pair("A4", new unsigned char[10000]));
我希望得到一个基于UCArray的平均值填充的数组,其中所有四个unsigned char缓冲区都被初始化并填充有效值。我知道我可以通过使用两个“for ... loop”来表达我的观点。请告诉我们是否还有其他有效方法可以做到这一点。提前谢谢。
答案 0 :(得分:0)
for(std::map<std::string, unsigned char*>::const_iterator iter = UCArray.begin();
iter != UCArray.end(); ++iter)
{
int nAverage = std::accumulate(
iter->second,
iter->second+10000,
0) / 10000;
}