STL中map容器使用有关问题
STL中map容器使用问题我在做图像处理,因为每个图像区域有不同的属性,因此想建立数据结构进行统计首先建立
STL中map容器使用问题
我在做图像处理,因为每个图像区域有不同的属性,因此想建立数据结构进行统计
首先建立一个struct:
C/C++ codestruct RgAb{ float sum; float mean; float SD;};
用来存储图像区域计算的相关结果;
因为每个图像区域有不同的标号ID;
因此想起来建立
C/C++ codemap<int,RgAb> mapFt;
这个数据结构,但是要经过多次计算RgAb中的值,因此在对mapFt中value的赋值上出现了困难,
直接mapFt[]貌似很难搞啊,不知道我说明白了没,大神指点呐!
[解决办法]赋值上什么困难?
不行的话可以使用指针
map<int,RgAb *> mapFt;
[解决办法]用find方法, 用[] 有副作用,如果没有找到,会插入一条
[解决办法] for (j = 0;j < labelSet.size();++j)
{
mapFt[labelSet[i]]=rgab;//这里崩溃
}
你这里是labelSet[j]吧
[解决办法]这里还是建议你用map<int,RgAb *> mapFt;
这样改值的时候,
(mapFt[label])->sum+=*(rowp+acronym+z);
就可以了。