C ++ STL:向量语法

时间:2018-07-10 23:15:02

标签: c++ stl

在我的一个实践问题中,我遇到了一个我不理解的向量声明。有人可以帮我分解一下吗?我是STL的新手

vector<string, vector<string> > friends;

我理解多维矢量,如下面的定义,但是我很难理解如上所述的字符串vector <>的矢量定义。

vector<vector<vector<int> > > V(M, vector<vector<int> >(M,vector<int>(M,0)));

2 个答案:

答案 0 :(得分:1)

使用的STL容器应该是map而不是vector。向量可能是一个错字。

答案 1 :(得分:0)

仅出于完整性考虑:std::vector确实允许您指定第二个模板参数-但该第二个参数是向量的分配器的类型。

当您要控制向量如何为其所容纳的数据分配空间时,指定分配器可能很有用。例如,霍华德·辛南特(Howard Hinnant)撰写了一个 short-allocator,您可能会觉得很有趣。

但是(关键点),第二个模板参数没有指定有关存储数据的任何内容,而是指定了如何分配空间来存储数据。