From an outsider (my background is in Comp. Sci./Eng. and Applied Math) point of view, I was too somewhat surprised with the obsession with
C++ among quants (well - among admittedly very limited sampling of quants that I was in touch with, although I seem to get the same impression from lightly tracking relevant forums, master program offerings, job posts, etc.). I find
C++ an OK OO language, and if used very, very carefully, it could be even on par with Fortran/C for writing numerical codes (as nicely demonstrated by
Eigen linear algebra library). But I find recent
C++ trends, like insisting heavily on template meta-programming and that kind of stuff, completely wrong regarding both code readability (this stuff is much worse than assembly in that regard) and code efficiency. Unfortunately, seems like these trends are starting to dominate
C++ world (Boost libraries, mentioned above, are an example of this - while there exist some good stuff in Boost, most of that what is good is actually already pulled into std::tr1, and the rest of it is utter garbage, worst crap that I've had to deal throughout my whole career as programmer), so people often resort to these techniques just because they are available and/or fashionable, resulting in messy and very un-efficient code. So I find OP question ("why is
C++ good/advantageous for quantitative finance") very interesting too - except for the fact, mentioned in several replies, that most of the codes seem to be already written in
C++ so it's natural choice for new codes (which is certainly valid reasoning), I'm still puzzled...