If I have library that was written in C++03 and I compile it to a static library, can I then use it in C++11? Also is the reverse possible ( C++11 static library with C++03
Depends on the compiler. GCC, for example, mangles the identifiers whose ABI changed in C++11 differently in C++11 mode. So, for example, if you don't use things such as std::list, then you're fine.