I am trying to learn C++ through on-line tutorials and such. In almost all tutorials, the author tells you which headers to include for that particular exercise, but never tells you how he knows that. I understand that if you are advanced enough to be writing tutorials, you know off the top of your head that you need #include <fstream> for file handling, but what about those that are still learning? In Python, I can open an interactive terminal and enter 'help()' and then 'modules' to get a list of modules available on my system. Enter the module name and I get a man page or at least an idea of what that module does and how to use it. So my question is, how does one find out what each header does and how it might be implemented. I could google each thing I'm trying to do (like random()), but I don't always have access to the internet.