Uhh... hmm well there are a lot of differences but a lot of similarities. Both are procedural languages. Both are used for Windows programming (although C++ isn't limited to Windows). Both are compiled languages (except VB is still interpreted a little). I guess that's relly where the similarities end.

You need to be clear on one thing though - Visual C++ is not a language. C++ is a language. Visual C++ is just the compiler and development environment that Microsoft produces. The language itself is nothing to do with Microsoft, and nothing to do with Windows, except you can use it to make Windows apps.

So, the differences. C++ is lower level than VB, which means it's more like machine code than VB is. It is generally more complex, very strongly typed, and fully supports object oriented architectures. It is generally faster and compiles to smaller executables. Plain C++ doesn't require any runtimes (DLLs) in order for its executables to work, although you can use libraries like MFC which do require runtimes. C++ has bitshifting, VB doesn't. VB allows you to develop interfaces more rapidly than C++. C++ code is proably harder to read, although if you're used to C++ more than VB then C++ would probably be easier.

Jeez, this is quite a question. I'd suggest you look in the FAQ.