I have a question about headers. I read the article about headers from this website and it recommended a method to keep from including headers twice. After reading the article it occurred to me that I have never had a problem with headers. So I took a look at my include file and found that all the headers I use regularly are wrapped.
#define _GLIBCXX_VECTOR 1
defines _GLIBCXX_VECTOR as a preprocessor constant with value 1, #define _GLIBCXX_VECTOR
would be the same but without any value
see http://www.cplusplus.com/doc/tutorial/preprocessor/