I am trying to be very careful about using namespaces, but it seems like my compiler is aware of names even though I have not provided a namespace. How does this happen? Today I successfully managed to write a program that prints the current time to the console. I am frustrated to see that it compiles without any issues. :) It's a good problem to have I know, but I need to understand.
As far as I know 'time_t', 'tm', and 'localtime' are all defined in the ctime header, which I have not included. I also did not prefix those names with a namespace. So how does the compiler recognise them? They are surely not registered keywords of C++.
It partially circumvents the whole idea with namespaces. But I guess it's one of those things I just have to accept. Names from the original C library all over the place. *sigh* What a mess.