我注意到有些人喜欢
#include <vector>
和其他人更喜欢
using std::vector;
有区别吗?我无法在SO上找到关于此的帖子。
在我的代码中从一个代码更改为另一个代码可以获得不少/额外的错误。
谢谢
答案 0 :(得分:1)
#include <vector>
时必须 vector
。
using std::vector;
是可选的,因为这样可以避免在声明向量时输入std::
。
vector<int> v; // no need prefix std::
答案 1 :(得分:1)
这些在某种程度上是相关的,但两者都没有取代另一个。
#include <vector>
这使得vector
的声明可见,因此您可以定义vector<T>
类型的对象(对于某些类型T
),定义按值vector
的函数,按值返回矢量等
using std::vector;
这使vector
的声明可见,而不必使用它所在的命名空间的名称(std
)来限定它,例如,定义vector
int
的{{1}},您可以使用:
vector<int> x;
...而不是:
std::vector<int> x;
...当您在没有#include <vector>
声明的情况下完成using
时,您需要这样做。