矢量中的双V形变得误读?

时间:2011-12-01 22:31:02

标签: c++

在“加速C ++”一书中,声明如果你声明一个这样的向量矢量:

vector<vector<int>> foo;

它可能会产生错误,因为&gt;&gt;可以被误读为运算符,所以你实际上应该这样写:

vector<vector<int> > foo;

但是,我使用这些结构编写第一种方式的代码似乎有效。这是一个我应该遵循的现代惯例吗?

1 个答案:

答案 0 :(得分:5)

当前版本的C ++(C ++ 11)使第一个版本合法。有些编译器总是接受它(技术上对C ++ 03有误)。第二个版本更安全,更广泛兼容。