The Arduino actually uses C++ but it's non-standard C++. Standard C++ expects standard I/O (a keyboard & screen) and an operating system complete with a file system and disc drive, etc.
And standard C++doesn't include functions to read/write an I/O pin or any of the low-level hardware related stuff the Arduino is good at. In fact, standard C++ doesn't include any graphics or color, or sound, or the mouse. All of the GUI/Windows stuff is additional libraries on top of C++.
So, you won't "learn C++" by learning the Arduino, but IMO it's one of the best-easiest ways of getting started with programming,* especially if you already know some electronics, or if you're interested in learning some electronics. You can learn all of the basic concepts like loops & conditional execution that are used in all programming languages. Your first programming language is the hardest!
In the old days (before Windows) I would have recommended learning BASIC. Computers used to come with BASIC or it was included on a floppy disc and regular-old command line basic is a fairly simple language. with something like 30 instructions (if I remember correctly.) Visual basic (for Windows GUI programming) is a different animal. I've programmed in several languages, but never Visual Basic or Python.
Standard C is also "manageable". The C Programming Language book by K&R covers the entire language (300 pages) but it's mostly a reference.
C++ builds on C and it's HUGE. The only "book" I've found that covers the entire language is the actual ANSI/ISO language standard, although there are some complete online references. And again, that still doesn't include any GUI.
If you want to learn C or C++ for the computer, I started with Sam's Teach yourself C in 21 Days by Jones & Aitken and Sam's Teach Yourself C++ in 21 Days by Jesse Liberty (Both may be out-of-print.) They don't teach you everything but you really can learn the basics in 21 lessons and I liked the self-teaching style with a quiz at the end of each chapter (day) with answers in the back. (You don't have to learn C before C++.)
Cprogramming.com also has some very-good beginning tutorials and information about how to install a compiler/IDE and "get started", and they have a forum.
* Actually, programming the Arduino can be deceptively simple. You can probably read-through the entire [u]Arduino Language Reference[/u] in a couple of hours (but you won't understand much of it until you've been through some of the [u]Examples[/u]. (You can go beyond the language reference with additional libraries and/or Assembly/machine language programming.)
In general, programming is HARD! It's different from every other field-of-study and not everybody is good at it and not everybody enjoys it. ...Professional programmers probably make more mistakes every day than any other professionals (but they find and correct most of them in short-order).