📚 Learn how to solve problems and build projects with these Free E-Books ⬇️ C++ Lambdas e-book - free download here: bit.ly/freeCppE-Book Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObjectPascalEbook 🚀📈💻🔥 My Practical Programming Course: www.codebeautyacademy.com/ Experience the power of practical learning, gain career-ready skills, and start building real applications! This is a step-by-step course designed to take you from beginner to expert in no time! 💰 Here is a coupon to save 10% on your first payment (CODEBEAUTY_YT10). Use it quickly, because it will be available for a limited time.
So basically using namespace std; == using a lot more memory, and having a less efficient program... yes ? I will totally understand you a coffee, I'm learning to code to get out of trades, I can stare at lines of code all day but 25 years in trades is taking its toll,on my body
I get error out of the box making zero changes to the defaults and its a wild goose chase trying multiple failed proposed methods to fix it. They need to just stop changing visual studios unless they really like having even fewer programmers.
In addition to what you said in the video, a common problem of "using namespace std" is if you try to create your own function and give it the same name that is already present in std namespace, that can lead to name collisions and ambiguity.
Pinning this comment since it is very useful info, continue reading... For those that need an example to understand this, use the one below: In the std namespace exists a function called abs(), which returns the absolute value of a number. So if you try to do cout
@@CodeBeauty The sensible thing and the one most adhering to the roots of C++ (i.e. janky mainframes where the greater prophets Ritchie and Thompson first summoned The Daemons), should be to either: - Call the one that is lexically closest to main or simply the one declared in your program - Screw the above and call the one in the std library because you must respect other people's labour of putting it together - Screw everyone and try to call a random function whose signature matches your function's since the syntax tree produced during compilation throws a hissy fit - Screw the system by deciding that your function should arbitrarily be cast to a function that points at (char *)0, hence resetting your system when you call it - Or simply do all of the above in a not exactly random order if you are using Visual C++ Pick your poison.
Is it really a common problem? It's really only a problem when people who have no training and no experience try to write code. You wouldn't trust a car built that way, and neither should we expect or allow production code to be built that way. If you are so ignorant that you are unfamiliar with the standard template library, you have no business writing code professionally.
I also didn't understand this until I started competitive coding and got clashes for min and max named functions. I used 'using namespace std;' but i also made min functions like int min(int a, int b, int c){ return min(a, min(b, c)); } this type of function is only possible if I use min from as std::min. took me some time to understand
The English you speak is really clean and understandable for even people not good at English like me. In this way, I practice both English and programming at the same time.
This is by far, the most clear and concise explaination of why "using namespace std" is considered a bad practice for specifically "large scale applications". I absolutely love the way you teach, Saldina! Teaching is an art, and you certainly have mastery over it!
In small projects it can be fine, something for playing and testing to just reduce some typing. However it can lead to a bad habit if you do it in larger projects, so often times it's best to keep bad habits away from smaller projects even if you're unable to remember that. I just only ever use it for the "hello world" equivalent of applications I write to test out some concepts.
Much more important is to understand why it's bad practice. It's not always black and white. There are a few things that are considered bad practice in programming and when you look deeper into it, you don't find a useful answer why. It's like it was a bad practice for whatever reason in the past but the original reason is already forgotten and remains only left in the brains of already dead people.
restrain "using namespace ..." to local scopes (and really only for absolutely unreadable things like std::chrono::high_resolution_clock). using aliases are ok too. (i.e using str = std::string) if you declare them in namespaces, (to be exact "unique scopes" that includes classes too!), such that locality precedence will be used.
@@obinator9065 You can also use the "auto" keyword for horrors like std::chrono::high_resolution_clock and the compiler will make a very good guess at what the type is. You can also define things differently.
I never thought about the reason we use "using namespace std", but thanks to you because now I've increased my knowledge. Each day we learn something new.
I am already a professional programmer. So I didn't ask for anything. But TH-cam gave me a good explanation, clear English and a perfect beauty anyway.
I don't like light themes either, and I personally use dark ones, but I get messages from people who are watching my videos with a very bad internet connection, on a small resolution, and for them, it's much easier to read dark letters on the light background than vice versa. That is why I continue to use a light theme, even though other people commented that a dark theme is their personal preference as well. I believe that making it available for more people is a stronger argument. I would recommend tools like f.lux I use them with both light and dark themes, and they help a lot with eye strain. Or you can put on shades 😎😎😁
I don't remember my teachers being this nice when I was at school, I might of actually enjoyed going if they were, I'm working my way through your videos right from the start, I'm also reading a couple of C++ books, your video's are much better for explanations and understanding. My motivation for learning to code is doing something that you can get totally immersed in so you don't have to think about the isolation and loneliness of lockdown, so you are my only company and mentor, I've watched over 20 of your video's so keep them coming please.
@@igorswies5913 because it's used mostly for functions that are already defined in a separate namespace. it's just to remove the namespace scoping for that particular method.
@@sieyk And if you don't need the whole library of functions, no point in using namespace when you can define the specific functions you need. It saves memory and compile time.
i'm completely amazed at how clean your english is. i'm not a native english speaker and i could understand every word you said. As for the video, it was a great explanation. I used namespace without even knowing what it did. i just thought it was necessary because i watched it in tutorials. now i am not gonna use it anymore. Thanks for this great video! you gained a new subscriber.
Thanks for taking the time to explain it so eloquently! I hadn't programmed in C++ since college (~10 years ago) and never really thought about "namespace std", I just used it so the programs would run.
Another example for not using "using namespace std" is, for example, if you need a custom class, or struct, with the same name as the one in std's namespace. Example: using namespace std; struct string { //error }; ------------------------------- //I can write: using String = std::string; //if you need of this. struct string { //no error };
a years back i have find all over the internet a solution for that question , got no chance , but today i have realize what exactly namespace is , and as you said i was only knew it was bad practice but not know why until now thanks for the tut .
You are a good teacher, even better than my university's teachers. I can understand you better than a teacher speaking my language. Gettings from Argentina.
@@birdhunyar2327 r u dumb or something? This is the most ridiculous statement I’ve ever heard. Just by your statement I can tell you’re one of those piece of shit. She knows more than you could ever know. She is smarter than you bro move on.
You are and excellent teacher. I never really understood the differences. You have completely cleared it up for me. I hope you become huge on youtube. You deserve it and your skills shine through beautifully. Thank you
as a 15 year programmer (not C++) I love how you explain these things, although it was pretty obvious to me, I do see why people would be confused or try to use this. Great tutorials!
I have tried to learn C from tutorial videos for years, but I couldn't concentrate and follow through to the end, but when I first saw your video and how you expressed it clearly and without borders, relatively fast and with good example, I was excited. I was struck and turned into a basic C language subject. I understood well and easily. Thank you very much for your efforts in the advancement of science and service to humanity. I am praying for you, O God. With his permission. I wish you health and success. Also, thanks to your respected family and teachers who taught you. And I am also proud of the place where you grew up. With best regards
Puno ti hvala. Puno sam naucio. I posebno su mi zanimljivi tips&tricks. Koje kod drugih nisam nikad vidio ovako detaljno objasnjeno. Svaka cast. Najbolja si do sada s obzirom na videa koje sam gledao o cpp-u.
In a nutshell: it's basically like borrowing a whole shelf instead of the three books you actually need for your homework. EDIT: AND... Specify from which book it comes from in order to do away with ambiguity Ex.: bookOnChildren::kid() vs bookOnGoats::kid()
I'm just starting to learn how to use some stl utilities and found out that if I include 'using namespace std,' it ran out of memory map space for a microcontroller device I am programming, causing the link to fail I think. I looked (specifically) for this issue in your content and I am very fortunate to have found the answer to this very problem you talked about here. THANKS!! I'll be back to learn more from your videos.
3 ปีที่แล้ว +3
I just found your channel and I want to thank you for this precious content. Saludos desde Colombia.
This was very informative. Thank you for your simplified explanation. It also helped to explain the double colon operator as well as a better understanding of the Using command. I also really enjoy how you show the compiler output compared to the PVS-Studio checker. I think that's something many tutorials miss when teaching coding. If you can't understand the debug errors, you'll never increase your coding knowledge. Thank you again!
Another thing: DO NOT EVER use "using" in a header file! If you use "using" in a header file, there's a chance that another programmer will include your header file and define "string" or "isfinite" or whatever in his .cpp file and get the wrong one.
Your explanation took a long time, but it was so crystal clear that i feel like I truly learned. I just noticed the first part of my comment might be seen as an complaint, but it is in fact a thank you for sharing your time.
Even though I know how to code in C and C++, I didn't know what does that line of code do and also as u mentioned, why many coders say that this is a bad habit and I've been looking for the answer till now! Thank u so much for this explanation Saldina! 🙂
mam, really I have never able to understand before about namespace but thanks to you for making such a videos, I don't have a words to say how I thanks you
Good to see other creators making these amazing tutorials for free. I have a channel too but not specifically oriented to programming, because often times they don't get enough views. Your videos motivate me to continue making progress. Good luck. God bless you. #RoadTo100K
hey Saldina, i am coming from freecodecamp, your OOP course helped a lot. like tomorrow is my final university exam and i hadn't studied at all before.😌
I like your teaching and it is very simple and easy to understand. Can you do some windows system programing (API)using C++ tutorials in future ? Thank you.
So you should probably use `using std::something_here;` on really big scale projects where you need that code would work as fast as possible and for regular use `using namespace std;` is fine
There shouldn't be a difference in speed on the compiled code, as per stackoverflow.com/questions/9324844/will-folders-and-namespaces-affect-performance-in-c-and-cross-platform The problem, as I understand it, is more along the lines that if you always go "using namespace std" at the start of every file, you're essentially negating the namespace - namespaces are useful for organizing the names of your functions and variables, and by unleashing std you are actually limiting yourself. Since std is so big and also deals with some very common things, it's not unusual that at some point you - or a library you are using or a code from someone else you have to work with - might want to call something else by a name which already exists inside the std namespace (say, a custom string class), and then you'll have to deal with that, which can be a problem. Now, personally, I've never had trouble with this - I believe it's one of those things that matter a lot more for bigger code bases shared between a group of people -, but even them I like the clarity of knowing I'm using the std version of a function or class instead of some custom one.
Just started my first cpp college course And they do use namespace STD at the beginning of every program tutorial She did a good job of explaining why they do As well as why programmers should not do it, outside of a tutorial
Wow. This is great explanation. You convert difficult concepts in plain english words that are very easy to understand. Best explanation of namespaces on the internet. Regards from Mexico.
The reason you gave is actually a reason to use this namespace. It’s to avoid naming anything that overlaps with the std lib. By using the entire std space, you implicitly make your code much more understandable. Whoever reads the code no longer need to check what namespace something very common like cout is in. It’s a very bad practice to name anything that overlaps with the standard lib. If you are going to do it, it’s best to explicitly declare your namespace. This way when the project grows larger, it will be very easy to decipher.
Excellent explanation. Many of us use some concepts without knowing the implications they have. No one, or at least that I have seen, have bothered to explain this particular case. Thank you.
Hi! Second day here learning C++. The thing is, why using namespace instead of just giving a different name to a variable? Does it work as a structure in other languages with variables, functions and so on? Other thing about bad practices that I've been reading is system("pause"), which only works in windows, not in macOS or Linux. Can you give more examples about this and maybe some alternatives? Thanks for your work, your videos are great.
It should be also noted that "using namespace ..." is especially problematic in header files, because it declares it for all users who include that file by default (and will apply to everything they use after that include in given file!). So if you ever decide to go with using namespace std or similar for whatever reason, make sure it is limited to implementation (cpp) files only... (the same problem is true actually also for the "using std::cout;" etc)
Even if I understood why its bad practice, I didn't feel like you actually explained why its bad at all for everyone else. I understood it because I'm for example familiar with why its bad practice in Python to import * from a module.
I am preparing for my college campus placement drive... And I was a bit weak in OOP concepts... But your videos helped me a lot... Thankyou so much... Love from India 🇮🇳🇮🇳🇮🇳
I read it in a book what it means to use an std namespace, but practically it now looks clearer! Thanks to CodeBeauty! Your code is clearer in concept. (Thanks again, I will watching all of your videos to revise my c++ knowledge and skills) But the disadvantage is using it globally after the header file inclusion. It is fine for using it in called out temporary functions!
I also tend to work late at night. Sometimes there are pop ups on my videos saying something like "You get up in 3 hrs" Not the healthiest, I know, but... 🤷♀️ Btw, it's currently 8pm where I live ⏰ Good night! 🤗🤗
Wowwwwwwww that insane.. I didn't know about this i think "using namespace std" is just a decoration. Lol me 🙂 And thenks for these information a subscribe from me. Oops! 🤓 there is no emoji for subscribe.. umm its okey for now "👍".
Say what? First of all, the namespace is not include. So "using namespace ..." do not include anything to your code. Remove iostream from the top and You will see. The problem with namespaces is something very different than what you mention. In your case, if you type after definitions of your namespaces: "using namespace namespace1; using namespace namespace2; " Your code will not break until you will use one of the members that share names in both namespaces. In one file program that may not be a problem, a bigger project with libraries and multiple files may have such issues. Furthermore, you creating ambiguity that may provide an additional challenge for someone debugging your code. Using is just a powerful tool to be used with a lot of caution. Adding spaces is a way to organize part of a bigger codebase. And using is not prohibited, use it sparingly, and never put it into header files :)
"Hey you already define a variable called age once, and now you are trying to define another variable with the same name, why are you doing that?" "Well maybe because I'm an idiot"
Your contents are the best, thank you for these videos actually, I'm a self-learner and learned coding from a book most of the titles was very mystery to me but you specified them clearly that I could understand them completely at first time
📚 Learn how to solve problems and build projects with these Free E-Books ⬇️
C++ Lambdas e-book - free download here: bit.ly/freeCppE-Book
Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObjectPascalEbook
🚀📈💻🔥 My Practical Programming Course: www.codebeautyacademy.com/
Experience the power of practical learning, gain career-ready skills, and start building real applications!
This is a step-by-step course designed to take you from beginner to expert in no time!
💰 Here is a coupon to save 10% on your first payment (CODEBEAUTY_YT10).
Use it quickly, because it will be available for a limited time.
Will you join me if I offer you a coffee? Did you explain somewhere in a video the purpose of #include ?
How kind. Thanks so much.
So basically using namespace std; == using a lot more memory, and having a less efficient program... yes ? I will totally understand you a coffee, I'm learning to code to get out of trades, I can stare at lines of code all day but 25 years in trades is taking its toll,on my body
Thank you for this video
Love from India 😌
I get error out of the box making zero changes to the defaults and its a wild goose chase trying multiple failed proposed methods to fix it. They need to just stop changing visual studios unless they really like having even fewer programmers.
In addition to what you said in the video, a common problem of "using namespace std" is if you try to create your own function and give it the same name that is already present in std namespace, that can lead to name collisions and ambiguity.
Pinning this comment since it is very useful info, continue reading...
For those that need an example to understand this, use the one below:
In the std namespace exists a function called abs(), which returns the absolute value of a number. So if you try to do
cout
@@CodeBeauty The sensible thing and the one most adhering to the roots of C++ (i.e. janky mainframes where the greater prophets Ritchie and Thompson first summoned The Daemons), should be to either:
- Call the one that is lexically closest to main or simply the one declared in your program
- Screw the above and call the one in the std library because you must respect other people's labour of putting it together
- Screw everyone and try to call a random function whose signature matches your function's since the syntax tree produced during compilation throws a hissy fit
- Screw the system by deciding that your function should arbitrarily be cast to a function that points at (char *)0, hence resetting your system when you call it
- Or simply do all of the above in a not exactly random order if you are using Visual C++
Pick your poison.
@@PhilipAlexanderHassialis * DEC PDP machines like the famous PDP-7 and PDP-11 were considered minicomputers at the time.
Is it really a common problem? It's really only a problem when people who have no training and no experience try to write code. You wouldn't trust a car built that way, and neither should we expect or allow production code to be built that way. If you are so ignorant that you are unfamiliar with the standard template library, you have no business writing code professionally.
I also didn't understand this until I started competitive coding and got clashes for min and max named functions. I used 'using namespace std;' but i also made min functions like
int min(int a, int b, int c){
return min(a, min(b, c));
}
this type of function is only possible if I use min from as std::min.
took me some time to understand
The English you speak is really clean and understandable for even people not good at English like me.
In this way, I practice both English and programming at the same time.
X2
X3 from Brazil here. Thanks❤️❤️❤️❤️❤️
same
That is what i was thinking about in entire video
Plz like subscribe or share this channel advance bihari
This is by far, the most clear and concise explaination of why "using namespace std" is considered a bad practice for specifically "large scale applications". I absolutely love the way you teach, Saldina! Teaching is an art, and you certainly have mastery over it!
Really...she actually never explained why at all....
I've been using 'using namespace std' without even knowing it was bad practice, thank you for the very clear explanation.
In small projects it can be fine, something for playing and testing to just reduce some typing. However it can lead to a bad habit if you do it in larger projects, so often times it's best to keep bad habits away from smaller projects even if you're unable to remember that. I just only ever use it for the "hello world" equivalent of applications I write to test out some concepts.
Much more important is to understand why it's bad practice. It's not always black and white. There are a few things that are considered bad practice in programming and when you look deeper into it, you don't find a useful answer why. It's like it was a bad practice for whatever reason in the past but the original reason is already forgotten and remains only left in the brains of already dead people.
restrain "using namespace ..." to local scopes (and really only for absolutely unreadable things like std::chrono::high_resolution_clock). using aliases are ok too. (i.e using str = std::string) if you declare them in namespaces, (to be exact "unique scopes" that includes classes too!), such that locality precedence will be used.
90% of what I learned from C ++ afterwards turned out to be wrong in some way
@@obinator9065 You can also use the "auto" keyword for horrors like std::chrono::high_resolution_clock and the compiler will make a very good guess at what the type is.
You can also define things differently.
I've never used "using namespace std;" but now I know it's not recommended, I'm going to use it all the time.
@@381delirius *world
*return 0;
}
@@pradhumnarajput9722 but he wanted to output "hello worlf", not "hello world"
@@pradhumnarajput9722 He copied and pasted it, not typed it.
Some just want to watch the world burn...
I recommend that. Your brain will now explode from illogicing itself.
I never thought about the reason we use "using namespace std", but thanks to you because now I've increased my knowledge. Each day we learn something new.
I am already a professional programmer. So I didn't ask for anything. But TH-cam gave me a good explanation, clear English and a perfect beauty anyway.
I believe you when you say you're a programmer
Sorry, i don´t trust people that doesn´t use dark mode....
Hahaha, why not? 😆🤔😋
@@CodeBeauty Your poor eyes. How can you use light mode? My eyes get burned when I use it.
I don't like light themes either, and I personally use dark ones, but I get messages from people who are watching my videos with a very bad internet connection, on a small resolution, and for them, it's much easier to read dark letters on the light background than vice versa.
That is why I continue to use a light theme, even though other people commented that a dark theme is their personal preference as well. I believe that making it available for more people is a stronger argument.
I would recommend tools like f.lux
I use them with both light and dark themes, and they help a lot with eye strain. Or you can put on shades 😎😎😁
@@CodeBeauty that's so nice of yours
@@CodeBeauty are u a girl or a trans?
I don't remember my teachers being this nice when I was at school, I might of actually enjoyed going if they were, I'm working my way through your videos right from the start, I'm also reading a couple of C++ books, your video's are much better for explanations and understanding. My motivation for learning to code is doing something that you can get totally immersed in so you don't have to think about the isolation and loneliness of lockdown, so you are my only company and mentor, I've watched over 20 of your video's so keep them coming please.
🙏💙🤗
I never understood C++ in college. Thanks for explaining topics in a clear manner. I'm attending the 10hrs full course.
Been coding with C++ for awhile and never knew you could do "using namespace::function;". How wonderfully useful!
if you do that then what's the point of having the function in a namespace?
@@igorswies5913 because it's used mostly for functions that are already defined in a separate namespace. it's just to remove the namespace scoping for that particular method.
@@sieyk And if you don't need the whole library of functions, no point in using namespace when you can define the specific functions you need. It saves memory and compile time.
i'm completely amazed at how clean your english is. i'm not a native english speaker and i could understand every word you said.
As for the video, it was a great explanation. I used namespace without even knowing what it did. i just thought it was necessary because i watched it in tutorials.
now i am not gonna use it anymore.
Thanks for this great video! you gained a new subscriber.
Thanks for taking the time to explain it so eloquently!
I hadn't programmed in C++ since college (~10 years ago) and never really thought about "namespace std", I just used it so the programs would run.
I subscribed when I heard "share what you've learnt with other people who don't understand" instead of "share my video."
Saldina, you are absolutely brilliant. Enormous thanks for your work here on this channel.
Thank god finally i found c++ depth explaination course 😭😭😭 love from india mam
Another example for not using "using namespace std" is, for example, if you need a custom class, or struct, with the same name as the one in std's namespace.
Example:
using namespace std;
struct string {
//error
};
-------------------------------
//I can write:
using String = std::string; //if you need of this.
struct string {
//no error
};
a years back i have find all over the internet a solution for that question , got no chance , but today i have realize what exactly namespace is , and as you said i was only knew it was bad practice but not know why until now thanks for the tut .
You are a good teacher, even better than my university's teachers. I can understand you better than a teacher speaking my language.
Gettings from Argentina.
Thank you! Im reviewing C++ as I am becoming a programing tutour at my local college
You are the only person that gets me excited about programming. This is really fun. This is a very good video. Keep it up with the good work, Saldina.
Wow, that is the best compliment. I'd like to motivate everyone to learn programming! Thank you! 🙏💙
Was writing using namespace std for years without knowing the reason behind it. Loved this video. Already subscribed.
thank you for making a clear video about namespaces
your way of explanation is amazing thanks for clearing all my doubt.
It's nice to see videos that aren't 5 years old on the youtube. Thanks for putting in the time to help us beginners.
I really like the clarity and simplicity of your videos.
Thanks.
🤗♥️
Already know everything explained in this video but still watched it till the end 😁
Holy shit, I just started to learn C++ by my own and stumbled into this exactly same question and couldn't find any clear answer. Thank you for this !
Same thing happend with me .
Love you ma'am.
I saw a lot of tutorials where people used std:: and I was very confused. Thank you for the explanation
Do a c++ algorithms and data structures full course please
I second that. Please youre really good at explaining things
data structures aint a girl's job xd
@@birdhunyar2327 why not?? they are good as well as boys. this is the most stupid comment i have read.
@@birdhunyar2327 r u dumb or something? This is the most ridiculous statement I’ve ever heard. Just by your statement I can tell you’re one of those piece of shit. She knows more than you could ever know. She is smarter than you bro move on.
@@birdhunyar2327 the olny little brain here is your brain. girls are powerful for those topic too.
I forgot everything I know about cpp but every time I watch your videos I remember what I went through to learn cpp.
Thank you.
thanks for the clear and concise explanation....
You are making me love C++
Some youtuber don't know, what is namespace in C++. Now I have a better knowledge. Thank you
Hello from Russia!
Your videos is helping me to be a good student, thanks :)
Your simplicity in explaining the code, is very apreciated, many thanks
You are and excellent teacher. I never really understood the differences. You have completely cleared it up for me. I hope you become huge on youtube. You deserve it and your skills shine through beautifully. Thank you
🙏💙💙
Epic producer tip: when you look this good, show some fullscreen shots when you are just talking.
as a 15 year programmer (not C++) I love how you explain these things, although it was pretty obvious to me, I do see why people would be confused or try to use this.
Great tutorials!
I have tried to learn C from tutorial videos for years, but I couldn't concentrate and follow through to the end, but when I first saw your video and how you expressed it clearly and without borders, relatively fast and with good example, I was excited. I was struck and turned into a basic C language subject. I understood well and easily. Thank you very much for your efforts in the advancement of science and service to humanity. I am praying for you, O God. With his permission. I wish you health and success. Also, thanks to your respected family and teachers who taught you. And I am also proud of the place where you grew up. With best regards
You overdid it Bro. No you just a creep
Although I am Arabian, but when I hear to you i am imagining as l hear to Arabian person, because your spelling is very very good.
me to
Puno ti hvala. Puno sam naucio. I posebno su mi zanimljivi tips&tricks. Koje kod drugih nisam nikad vidio ovako detaljno objasnjeno. Svaka cast. Najbolja si do sada s obzirom na videa koje sam gledao o cpp-u.
In a nutshell: it's basically like borrowing a whole shelf instead of the three books you actually need for your homework.
EDIT:
AND...
Specify from which book it comes from in order to do away with ambiguity
Ex.: bookOnChildren::kid() vs bookOnGoats::kid()
Wow, great example, love it!!
Lilo start a TH-cam channel your nutshelling of concepts are awesome 😂
Wah, so simply explained!
and why not borrowing the whole shelf? what is the disadvantage? does it make your program slower?
That was funny and really explained everything 😂
I'm just starting to learn how to use some stl utilities and found out that if I include 'using namespace std,' it ran out of memory map space for a microcontroller device I am programming, causing the link to fail I think.
I looked (specifically) for this issue in your content and I am very fortunate to have found the answer to this very problem you talked about here. THANKS!! I'll be back to learn more from your videos.
I just found your channel and I want to thank you for this precious content. Saludos desde Colombia.
Ovo je jedan od najboljih kanala na youtube sto se tice C++ jezika, sve je vrlo jednostavno i jasno objasnjeno ;)
This was very informative. Thank you for your simplified explanation. It also helped to explain the double colon operator as well as a better understanding of the Using command. I also really enjoy how you show the compiler output compared to the PVS-Studio checker. I think that's something many tutorials miss when teaching coding. If you can't understand the debug errors, you'll never increase your coding knowledge. Thank you again!
Very well done. Clear understandable English. Clear structure in explaining. This helps beginners and hobbyists a lot. Thank you very much.
Thank you for clearing my doubt 🙏❤
You’re welcome. I'm happy to help! 😊🥰
Thank you so much for this answer. I am a beginner to C++ and I had a lot of confusion. Thank you for clearing up my confusion!
That was new for me. Great job gal ❤❤ Luv from India 🇮🇳
this is a great one you are probably the best one who teaches C++ you sound like you know it in and out
Another thing: DO NOT EVER use "using" in a header file! If you use "using" in a header file, there's a chance that another programmer will include your header file and define "string" or "isfinite" or whatever in his .cpp file and get the wrong one.
Great advice! Thanks! 🤗🤗🧡
Your explanation took a long time, but it was so crystal clear that i feel like I truly learned.
I just noticed the first part of my comment might be seen as an complaint, but it is in fact a thank you for sharing your time.
Very great explanation from u, thanks so much indeed 🤗🤗🤗
Even though I know how to code in C and C++, I didn't know what does that line of code do and also as u mentioned, why many coders say that this is a bad habit and I've been looking for the answer till now!
Thank u so much for this explanation Saldina! 🙂
such good explanation!!
may you get 1m subscribers god bless you keep teaching dear!!!
love from INDIA!!!!!!!!!!!!
Thank you so much and God bless you to!
Sending a lot of love for India! Will come to visit one day! 🇮🇳🧡🤍💚
@@CodeBeauty come soon !! You are always welcome ;)
@@CodeBeauty we are very much glad to see you in one day always welcome mam!!!!
mam, really I have never able to understand before about namespace but thanks to you for making such a videos, I don't have a words to say how I thanks you
Good to see other creators making these amazing tutorials for free. I have a channel too but not specifically oriented to programming, because often times they don't get enough views. Your videos motivate me to continue making progress. Good luck. God bless you. #RoadTo100K
hey Saldina, i am coming from freecodecamp, your OOP course helped a lot. like tomorrow is my final university exam and i hadn't studied at all before.😌
I like your teaching and it is very simple and easy to understand. Can you do some windows system programing (API)using C++ tutorials in future ? Thank you.
The best teacher I have ever met.
So you should probably use `using std::something_here;` on really big scale projects where you need that code would work as fast as possible and for regular use `using namespace std;` is fine
There shouldn't be a difference in speed on the compiled code, as per stackoverflow.com/questions/9324844/will-folders-and-namespaces-affect-performance-in-c-and-cross-platform
The problem, as I understand it, is more along the lines that if you always go "using namespace std" at the start of every file, you're essentially negating the namespace - namespaces are useful for organizing the names of your functions and variables, and by unleashing std you are actually limiting yourself. Since std is so big and also deals with some very common things, it's not unusual that at some point you - or a library you are using or a code from someone else you have to work with - might want to call something else by a name which already exists inside the std namespace (say, a custom string class), and then you'll have to deal with that, which can be a problem.
Now, personally, I've never had trouble with this - I believe it's one of those things that matter a lot more for bigger code bases shared between a group of people -, but even them I like the clarity of knowing I'm using the std version of a function or class instead of some custom one.
@@user-sl6gn1ss8p that makes sense. Thanks!
I fall in love with ur simplicity to explain complicated topics in essie wayyy lov from India
Mam can you please make a video on lambda expression in c++, it looks like [&]. I can't understand from the web and you explain things really good.🤗
That is ampersand
Just started my first cpp college course
And they do use namespace STD at the beginning of every program tutorial
She did a good job of explaining why they do
As well as why programmers should not do it, outside of a tutorial
Thank you for sharing.
My pleasure! 🤗🤗
Wow. This is great explanation. You convert difficult concepts in plain english words that are very easy to understand. Best explanation of namespaces on the internet. Regards from Mexico.
🇲🇽❤️💚
The reason you gave is actually a reason to use this namespace. It’s to avoid naming anything that overlaps with the std lib. By using the entire std space, you implicitly make your code much more understandable. Whoever reads the code no longer need to check what namespace something very common like cout is in.
It’s a very bad practice to name anything that overlaps with the standard lib. If you are going to do it, it’s best to explicitly declare your namespace. This way when the project grows larger, it will be very easy to decipher.
I never learned about the individual namespace declarations, great tutorial!
Keep you the great work mam 🥰
Thank you, I will!🥰🥰
Excellent explanation. Many of us use some concepts without knowing the implications they have. No one, or at least that I have seen, have bothered to explain this particular case. Thank you.
Damn, I really love how Saldina "rolls" that "R" american way!
By the way, great explanation and tut :)
You made it clear as to what it does, but not why it's bad
Hi! Second day here learning C++. The thing is, why using namespace instead of just giving a different name to a variable? Does it work as a structure in other languages with variables, functions and so on?
Other thing about bad practices that I've been reading is system("pause"), which only works in windows, not in macOS or Linux. Can you give more examples about this and maybe some alternatives? Thanks for your work, your videos are great.
Thank you so much for clarifying std namespace once for all! Non of previous search results helped me understand
12:24, for people who already know what namespaces are and want to cut straight to the chase, and tbh the reason is obvious and implicit.
i never saw this type of explicit explanation .i greatly appreciate it.
Don't forget me ma'am, when you become a big youtuber😅😜will watch this in morning till then good ni8😃🙏🙏
Long way to go, but I'll give my best! Thank you for supporting me and have a good night! 😴🤗🤗
Me at my college still using Turbo C++ , where we namespace is not a thing and all we do for these is overloading :-)
It should be also noted that "using namespace ..." is especially problematic in header files, because it declares it for all users who include that file by default (and will apply to everything they use after that include in given file!). So if you ever decide to go with using namespace std or similar for whatever reason, make sure it is limited to implementation (cpp) files only... (the same problem is true actually also for the "using std::cout;" etc)
Even if I understood why its bad practice, I didn't feel like you actually explained why its bad at all for everyone else. I understood it because I'm for example familiar with why its bad practice in Python to import * from a module.
Very good, from Brazil. \O/
Obrigada! Muitos beijos e abraços para Brasil! 🇧🇷💚💛
this is the type on information i like, intrinsic programming, not just because!
std::cout
I am preparing for my college campus placement drive... And I was a bit weak in OOP concepts... But your videos helped me a lot... Thankyou so much... Love from India 🇮🇳🇮🇳🇮🇳
08:16 - that was funny 😂😂
Hahaha, that was a mistake 🤷♀️😅😅
She forgot to put the using statement for english.😂
😂😂
I read it in a book what it means to use an std namespace, but practically it now looks clearer! Thanks to CodeBeauty! Your code is clearer in concept. (Thanks again, I will watching all of your videos to revise my c++ knowledge and skills)
But the disadvantage is using it globally after the header file inclusion. It is fine for using it in called out temporary functions!
Yey! I'm not first but I'm early and it's already 2 am yet I can't sleep.
I also tend to work late at night. Sometimes there are pop ups on my videos saying something like "You get up in 3 hrs"
Not the healthiest, I know, but... 🤷♀️
Btw, it's currently 8pm where I live ⏰
Good night! 🤗🤗
this was the best doubt-clearing session of namespace std........huge thx❤️❤️
Wowwwwwwww that insane.. I didn't know about this i think "using namespace std" is just a decoration. Lol me 🙂
And thenks for these information a subscribe from me.
Oops! 🤓 there is no emoji for subscribe.. umm its okey for now "👍".
You are great, simple explanation simple English to non-English speakers you've achieved the difficult equation. thanks alot
good video
Glad you enjoyed! 🤗
Thank you very much. I can now take a picture of how the code works and analyze what is happening. Thank you very much
Say what?
First of all, the namespace is not include. So "using namespace ..." do not include anything to your code. Remove iostream from the top and You will see.
The problem with namespaces is something very different than what you mention.
In your case, if you type after definitions of your namespaces:
"using namespace namespace1;
using namespace namespace2; "
Your code will not break until you will use one of the members that share names in both namespaces. In one file program that may not be a problem, a bigger project with libraries and multiple files may have such issues. Furthermore, you creating ambiguity that may provide an additional challenge for someone debugging your code.
Using is just a powerful tool to be used with a lot of caution. Adding spaces is a way to organize part of a bigger codebase. And using is not prohibited, use it sparingly, and never put it into header files :)
What if you did:
using namespace1::age;
using namespace2::age;
std::cout
1980: Only geniuses can be programmers
2021: Saldina teaches normal people how to be a genius
WOW I searched many Indian youtubers video but I didn't find explaination like this❤️🎉🥳.
Thank you so much mam for teaching this concept so easily ☺️
🤗🧡🧡
"Hey you already define a variable called age once, and now you are trying to define another variable with the same name, why are you doing that?"
"Well maybe because I'm an idiot"
Your contents are the best, thank you for these videos
actually, I'm a self-learner and learned coding from a book
most of the titles was very mystery to me but you specified them clearly that I could understand them completely at first time