我在Visual C++应用程序这是什么意思在C++
遇到这个extern map<string, rpcfn_type> mapCallTable;
或
map<string, string>
是什么意思?没有地图的事情,但
<string, string>
部分
我在Visual C++应用程序这是什么意思在C++
遇到这个extern map<string, rpcfn_type> mapCallTable;
或
map<string, string>
是什么意思?没有地图的事情,但
<string, string>
部分
这些都是模板参数; map
是一个类模板,只有在告诉它将使用的类型之后它才会完成。第一种是键的类型,第二种是将通过键存储的数据的类型。
+1只有几句话才能说明问题:) – ralphtheninja 2011-05-04 20:30:03
您不能单独使用<string, string>
零件,因为它是map
的修饰符。
map
是模板类型,并且<string, string>
引用它使用的类型。 map<string, string>
表示map
,其关键类型为string
,其值类型也为string
。
std::map
是一个模板。您可以使用它创建一个具有密钥和与该密钥相关的一些数据的类型。尖括号是指定这两种类型的位置,所以(例如),map<string, string>
定义了一种类型,它使用一个字符串作为关键字,并且具有与第一个字符串关联的另一个字符串。
一个这也许更容易理解会是这样的:
struct person {
string name;
string email_address;
phone_number home;
phone_number mobile;
};
map<string, person> people;
这让我(例如)使用昵称为重点,以查找姓名,电子邮件地址,电话号码等的人。
那么很难看到这些部分分开。请参阅http://www.cplusplus.com/reference/stl/map/或者更好的http://www.uow.edu.au/~nabg/ABC/ABC.html – sehe 2011-05-04 20:27:43
它们是模板参数,它的映射字符串转换为字符串或字符串转换为第一个示例中的rpcfn_type – forsvarir 2011-05-04 20:27:58
在编写任何更多的Visual C++应用程序之前,您可能需要[阅读一本好书](http://stackoverflow.com/questions/388242/the -definitive-C-书指南和列表)。 – 2011-05-04 20:30:57