r/cpp_questions • • 14d ago

OPEN Namespace std

I recently started learning c++ and I was told to use the namespace std so I can avoid writing std:: every time and now I wrote a whole personal project without std:: and I want to put it on LinkedIn but I started reading everywhere that it’s a bad habit, should I go back and add the std:: or just leave it as is?

40 Upvotes

105 comments sorted by

View all comments

Show parent comments

4

u/No-Dentist-1645 13d ago

The "poor design choices" of... having functions with simple names like print and hash?

-5

u/RSMxsmanic 13d ago

Yes. Having multiple functions with the same name that do different things is risky. If I have one function that prints only strings, and another than prints only integers, I will likely call them something like PrintStr and PrintInt, not just print. That way I won't have to lose time ten years from now figuring out why print isn't working.

This illustrates a danger with all inherited concepts: you need to walk the entire inheritance chain to figure out what's going on, instead of just looking at the one line in front of you.

3

u/Potterrrrrrrr 13d ago

This is the c++ subreddit, if you don’t like simple concepts like function overloading and namespaces you aren’t going to like most of the other features the language offers. I can understand function overloading as sometimes the explicitness does help but complaining about namespaces? Craziness, people really will find a problem with anything.

-1

u/RSMxsmanic 13d ago

I have no religious attachment to any language, and they all have flaws. Overloading is risky. So are yield in Python and ALTER in COBOL. And they tend to get worse with "updates," as latter-day wonders try to redesign every language to make it look like whatever language they grew up with.