It's a good idea to stick fairly closely to standard C++ while you're starting out - C++ itself has quite a few concepts to teach you which will be useful when you're trying to swim further ashore with 3rd-party libraries and other tools.
The number of "good" books out there for learning C++ is unfortunately limited. The majority of C++ books still tend to lead you astray somewhat by teaching big chunks of the 'C' language first, and they get bogged down into absurd amounts of low-level detail regarding computer science concepts such as memory management, algorithms and data structures (All useful topics for an advanced programming course, but not really beginner topics for just learning how to write programs or how to use a programming language. I guess it's a sign of the times that programmers in 2016 generally don't need to write their own data structures or manage memory very often).
If your last encounter with C++ was with Borland's Turbo C++, then you'll probably have learned most of those "C like" things before. C++ itself has evolved and modernised, but only a handful of books have kept up the pace. The 3 beginner books which have managed to stay up-to-date are:
- C++ Primer by Lajoie/Lippman
- Accelerated C++ by Koenig/Moo
- C++ Principles and Practice by Stroustrup
As someone with prior experience in a handful of languages, you'll probably cope fine with Koenig's Accelerated C++, which is a wonderfully condensed, concise and well-structured book which doesn't waste time repeating itself or diving into long-winded terse explanations (You might find yourself re-reading the same page twice, or even re-reading the whole book - but that's not a bad thing IMO).
While it does explain the basics of if/while/for/functions/etc, its real focus is teaching all of the bits of C++ which aren't found in C (The bits which make C++ an easier language to use for solving "real" problems, whereas the C language gets bogged down in low-level detail). The book is a little bit old, but not really outdated - i.e. everything it teaches is absolutely relevant in 2016, but it's lacking coverage on newer features like Threads and Regex.
Stroustrup's Principles and Practice is much newer book, which crosses-over between modern C++ and general software development (so it's a book which teaches you how to be a programmer, rather than simply teaching how to use the C++ language). Stroustrup's book also branches out beyond the core C++ language, and spends time on 3rd-party tools (he uses a GUI toolkit called FLTK).
Lastly, Lippman's C++ Primer is a really big book of C++. It's almost 3 times the size of Accelerated C++, and it's very slow-paced in comparison, but it has a lot of coverage and depth.
Visual C++ is just a tool - you can use it to write plain old standard C++, although you'll need to make sure you choose the "right" project type. The easiest project type to start with is the Win32 Console Application; when you create the project you'll want to un-tick the box for Precompiled Headers - because that will just get in your way. (It will give you a couple of superfluous files called stdafx.h/.cpp - but if you disable precompiled headers you can delete those).
The community edition of Visual Studio 2015 is a very powerful tool - it's basically Microsoft's "Professional" edition rebranded for personal, educational and non-commercial use. i.e. the only difference for Professional-vs-Community is the license terms; you can't use it for developing a commercial product.
This post has been edited by Bench: 01 April 2016 - 01:38 AM
Reason for edit:: Removed previous quote, just press REPLY