#2 is also not thread-safe in C++03. It is in C++0x

In #2, storage space is pre-allocated for Car, but the constructor is only called at the first call to getInstance().

gg