When you compile a program with standard header files like <iostream> it looks to me like the compiler never compiles any .cpp files for them so I assume the .o files are all stored somewhere so all the compiler does is link them. Is that right?
I did this:
root@inferno:/home/icecube# find / -name iostream
And I installed boost myself so I guess /usr/include/c++/4.2.4 is where the isostream header file is at.
How does g++ know where to look for standard header files? Does it use the same PATH ($PATH?) variable (I can't remember what it's called) that the shell uses when tries to find executable files like ls?