Bringing namespaces into scope is perfectly idiomatic C++, just don't do it in your headers.
What is idiomatic is explicitly importing individual symbols into a name peace.
#include <iostream>
#include <vector>
#include <string>
using std::cout;
using std::vector;
using std::string;
int main() {
vector<string> v {"explicit ", "is better ", "than implicit\n" };
for (auto p: v) cout << p;
return 0;
}
I'm on mobile so please forgive errors.But again, personal opinion - it can definitely be used in some contexts (just be consistent in your project!).