C++ is the emerging standard for applications programming and has become a requirement for most programmers in this decade. It is generally speaking a superset of C, at a higher level and of course an object-oriented language. While some of its features (especially operator overloading & inheritance) make it ideal for the concise and high-level expression of mathematical algorithms and hence very attractive for the implementation of scientific codes, the current generation of C++ compilers isn't very good at optimizing C++ code, making it slower than equivalent C and Fortran code most of the time. This is probably going to change soon though. Meanwhile one can still mix C++ and Fortran. C++ compilers are a lot more fussy than C ones so far as correct and consistent prototyping is correct so more attention has to be given to the matter. Make sure to enclose your C prototyping with an extern "C" {}. C++ has a standard complex arithmetic class thus doing away with one of the major disadvantages of C wrt. numerical codes.
Document Home Page
Contents