这在C++中意味着什么

What does this mean in C++

本文关键字:什么 意味着 C++ 这在      更新时间:2023-10-16

我在Visual C++应用程序中遇到过这个问题

extern map<string, rpcfn_type> mapCallTable;

 map<string, string>

什么意思?不是地图的事情,而是

<string, string> 

.part

这些是模板参数; map是一个类模板,在您告诉它它将要使用的类型之前,它不完整。第一个是密钥的类型,第二个是通过密钥存储的数据类型。

std::map是一个模板。使用它来创建具有键以及与该键关联的一些数据的类型。尖括号是指定这两种类型的位置,因此(例如),map<string, string>定义一个类型,该类型使用一个字符串作为键,并将另一个字符串与第一个字符串相关联。

一个可能更容易遵循的方法是:

struct person {        
    string name;
    string email_address;
    phone_number home;
    phone_number mobile;
};
map<string, person> people;

这让我(例如)使用昵称作为密钥来查找一个人的姓名、电子邮件地址、电话号码等。

您不能单独使用<string, string>部分,因为它是map的修饰符。

map 是一种模板类型,<string, string>是指它使用的类型。 map<string, string> 表示密钥类型为 string且值类型也为 stringmap