C ++"<"是什么意思?和">"在这段代码中?

时间:2014-09-09 14:40:51

标签: c++ syntax

这是我从here下载的Alex Allain的电子书“Jumping into C ++”中的一个例子。在页面207他有这段代码:

#include <map>
#include <string>
using namespace std;
map<string, string> name_to_email;

我的问题是,请问,最后一行的含义是什么,特别是“<”和“>”的重要性。这行可以写成map < string, string > name_to_email;,也就是说我插入它们时必须没有空格?

3 个答案:

答案 0 :(得分:4)

该表示法指定模板参数。

答案 1 :(得分:3)

  

该行可以写成map&lt; string,string&gt; name_to_email;也就是说我必须插入空格吗?

空间很好。

  

我的问题是,请问,最后一行的含义是什么,特别是“&lt;”的重要性和“&gt;”。

正如@Cyber​​所说,它们是模板参数。这是在C ++中使用变量类型的方式。而不是为每种类型设置地图,例如StringToIntMapStringToCharMap以及CharToStringMapStringToStringMap等。只有一张地图,可以使用任何类型。所以map<string, int>本质上是一个将字符串作为键并将其作为值映射到int的映射。

答案 2 :(得分:2)

正如Cyber​​所说,符号指定了模板参数。如果您阅读了this链接以了解地图的内容,则可以看到在定义地图时,您需要指定地图的两个部分。关键和价值。在上面的示例中,您将创建一个字符串映射,可以通过字符串键访问。

map<key, value>。所以在上面的另一个答案中,如果你想存储可以通过字符串键访问的整数,你可以创建一个这样的地图map<string, int> lMyMap