首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

STL中map容器使用有关问题

2012-04-18 
STL中map容器使用问题我在做图像处理,因为每个图像区域有不同的属性,因此想建立数据结构进行统计首先建立

STL中map容器使用问题
我在做图像处理,因为每个图像区域有不同的属性,因此想建立数据结构进行统计
首先建立一个struct:

C/C++ code
struct RgAb{    float sum;    float mean;    float SD;};
用来存储图像区域计算的相关结果;
因为每个图像区域有不同的标号ID;
因此想起来建立
C/C++ code
map<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);
就可以了。

热点排行