C++ 映射值作为用户定义数据类型


映射是一个数据结构,它以键值对的形式存储信息。在 C++ 中,映射在 STL(标准模板库)中定义,并且以一种有序的方式存储键。

定义映射的语法−

map<key_type , value_type> map_name;

映射的这两个数据中的任何一个的数据类型可以是任何数据类型。我们可以将任何主要数据类型或派生数据类型作为映射中的键或值数据类型。

我们可以将任何数据类型用作映射中键的数据类型。甚至可以将用户自定义数据类型用作键数据类型。

现在,我们将创建一个定义了新数据类型的数据结构。并将其用作映射的键。

语法

struct key{
   float f;
}

在映射中使用此用户自定义数据类型,程序员可以获取映射中更有内容的数据集。一个结构可以包含任何数量的数据,甚至还可以考虑使用数组和其他数据结构。

示例

#include <bits/stdc++.h>
using namespace std;
struct kdata {
   float id;
};
bool operator<(const kdata& t1, const kdata& t2){
   return (t1.id < t2.id);
}
int main(){
   kdata t1 = { 4.5 }, t2 = { 12.3 }, t3 = { 67.8 }, t4 = { 65.2 };
   map<kdata, char> maps;
   maps[t1] = a;
   maps[t2] = h;
   maps[t3] = m;
   maps[t4] = q;
   cout<<"The map data is ";
   for (auto x : maps)
      cout << x.first.id << " > " << x.second << endl;
   return 0;
}

输出

The map data is
4.5 > a
12.3 > h
67.8 > m
65.2 > q

更新日期:19-Sep-2019

1K+ 浏览

开启您的 事业

完成课程即可获得认证

开始
广告