I've noticed that some people prefer
#include <vector>
and others prefer
using std::vector;
Is there a difference? I couldn't find a post on this on SO.
Changing from one to another in my code procures no less/additional errors.
Thank you
I've noticed that some people prefer
#include <vector>
and others prefer
using std::vector;
Is there a difference? I couldn't find a post on this on SO.
Changing from one to another in my code procures no less/additional errors.
Thank you
#include <vector>
is a must when you use vector
.
using std::vector;
is optional as this saves you from typing std::
when declaring a vector for example.
vector<int> v; // no need prefix std::
These are related to some degree, but neither replaces the other.
#include <vector>
This makes a declaration of vector
visible, so you can define objects of type vector<T>
(for some type T
), define functions that take a vector
by value, return a vector by value, etc.
using std::vector;
This makes the declaration of vector
visible without your having to qualify it with the name of the namespace in which it resides (std
) so, for example, to define a vector
of int
s, you can use:
vector<int> x;
...instead of:
std::vector<int> x;
...as you need to when you've just done the #include <vector>
without the using
declaration.