Although using the ‘using’ directive doesn’t have any performance implications. It simply brings all the names from some namespace into the global namespace for your convenience at compile time itself. So there is no impact on run time of a program. But the primary concerns with ‘using’ directive are related to code readability, maintainability and possible name collisions. And also 'using namespace std;' or explicitly 'using std::' depends on your convenience and situation also. Like if in a coding exam or an interview you know that name collision will not be there and you need speed, you can go ahead and use the ‘using’ directive. But in a big or legacy application ‘using’ directive definitely can cause issue. I’ve seen so many conflict issues being caused with our own code or third party library. So you only need to decide.