|
set和map支持唯一关键词(unique key),就是对每个KEY,最多只保存一个元素(数据记录)。multiset和multimap则支持相同关键词(equal key),这样可有很多个元素可以用同一个KEY进行存储。set(multiset)和map(multimap)之间的区别在于set(multiset)中的存储数据内含了KEY表达式;而map(multimap)则将Key表达式和对应的数据分开存放。
我们假设现在要保存某公司里雇员的信息。雇员信息类定义如下:
class employee_data
{
public:
employee_data() : name(“”), skill(0), salary(0) {}
employee_data(string n, int s, long sa) : name(n), skill(s), salary(sa) {}
stirng name; // 雇员名字
int skill; // 雇员职称
long salary; // 雇员薪水
friend ostream& operator<<(ostream& os, const employee_data& e);
};
ostream& operator<<(ostream& os, const employee_data& e)
{
os << “employee: “ << e.name << “ “ << e.skill << “ “ << e.salary;
return os;
}
现在想把雇员数据保存在集合set(multiset)中,关键词KEY包含在被保存的对象中:(责任编辑:admin) |
