I'm a C++ programmer and now about to use Visual C++. May I know the difference in terms of functionalities? will my code written in classic C++ run on Visual C++?
Visual C++ is C++, with the Visual Studio IDE. You should not encounter any significant differences between code written for other current implementations of C++.
By Classic C++, I'm assuming you mean any of the other compilers such as gcc, MinGW, current Borland products, and not some old, out of standards version.
That's true if not counting monstrous MS NET "extensions" for "managed" codes...
There are two fundamentally different kinds of C++ applications you can develop with Visual C++ 2008.
You can write applications that natively execute on your computer. These applications referred to as native C++ programs. You write native C++ programs in the version of C++ that is defined by the ISO/ANSI (International Standards Organization/American National Standards Institute) language standard. You can also write applications to run under the control of the CLR in an extended version of C++ called C++/CLI. These programs referred to as CLR programs, or C++/CLI programs.
Thank you everyone... it's nice to know that there are people who are very willing to share their knowledge...:)
Well, C++ is just a language, with quite a small standard library, but with A LOT of provided compilers, frameworks and third party libraries. From my point of view ( and many others, I think ) g++ is the best compiler for C++. Visual C++ is quite a generic name: it's the msvc compiler, the visual studio IDE and a library/framework that wraps winapi to build windows graphical applications( aka MFC ).
Learning Visual C++ actually means learning how to use the MFC framework and Visual Studio IDE, that, from my point of view is quite useless: 1. it costs a lot; 2. it's not portable on other os ( of course, MS policy ) 3. as far as I know Microsoft outsourced MFC
About the MSVC compiler... it generates slower machinecode than g++ and a thing I recently noticed, it doesn't quite respect the c++ standard ( thing I noticed is that exception specifications are not treated by the compiler, even if you have a throw() function that DOES throw, unexpected() is never called )
The only bright side of "Visual C++" is the Visual Studio IDE, that from my point of view is kind of the best ide right now.
If you do want to do GUI developement in C++ I would suggest using portable libraries: Qt4 or GTK++ .
About .NET's C++/CLI... This is simply not C++. It's simply another language. If you do want to develop .NET apps I would suggest learning C#.