小编Ser*_*aev的帖子

地图和子串

我想排序一个字符串的足够.最简单的方法是将所有足够的东西放入地图中.为了有效地使用内存,我将后缀作为(str + i)传递,其中str是char*,i是以后缀开头的位置.但是,我发现地图不会对这些东西进行排序.这是一个例子

typedef std::map < char*, int,Comparator> MapType;
MapType data;

// let's declare some initial values to this map
char* bob=(char* )"Bobs score";
char* marty=(char* ) "Martys score";
data.insert(pair<char*,int>(marty+1,15));
data.insert(pair<char*,int>(bob+1,10));
MapType::iterator end = data.end();
for (MapType::iterator it = data.begin(); it != end; ++it) {
    std::cout << "Who(key = first): " << it->first;
    std::cout << " Score(value = second): " << it->second << '\n';
}
Run Code Online (Sandbox Code Playgroud)

输出是

    Who(key = first): obs score Score(value = second): 10
    Who(key = first): artys score …

c++ stl map

1
推荐指数
1
解决办法
220
查看次数

标签 统计

c++ ×1

map ×1

stl ×1