It's okay I guess. He puts things some ways that I personally wouldn't.
1) The point about namespaces is weird. He explains "using namespace std;" by saying something like it includes the standard library, which is pretty wrong. #include did that, not the using namespace line.
Namespaces are a lot like boxes of stuff for code. It keeps objects that I coded distinct from objects that you coded which would be named the same thing. The standard library lives in a box called "std". Meaning, you can pretty much make your own thing called cout or endl and it would work totally fine. If it sounds useful, that's because it can be, and people use this in the real world.
In fact, if you removed the using namespace line and then compiled the code, you would get an interesting error on line 5:
Code:
hello.cpp: In function 'int main()':
hello.cpp:5:5: error: 'cout' was not declared in this scope
cout << "Hello, world!" << endl;
Like I said, the standard library lives in a box called "std", so your compiler does not know what cout is. One different way to write it that works is like this:
Code:
std::cout << "Hello, world!" << std::endl;
A lot of people found this cumbersome, so you can just tell the compiler to look in the std box for things it doesn't know about, by writing "using namespace std;". Simple programs can get away with this because they are usually only going to be using standard objects.
2) I really wouldn't say that main "works on" an int where he explains return values. That will sound confusing when you learn about command line arguments. But this topic has been such a bug-a-boo for you, that I feel awful about criticizing it. However bad it is, the video actually got you to understand I guess.