First of all, what I'd recommend you do is go to a website such as LearnCPP, don't go through the whole thing, but see what you think of it. Determine if you like C++, or if you'd want to start with a slightly "easier" language - and determine if C++ offers what you're looking for. For example, if you're into web design, perhaps C++ isn't the best choice for you.
Now, if you do choose C++, I can say that you probably shouldn't just focus on the programming language, especially on your first programming language. What you should focus on is programming itself, and try to learn bits and pieces of computer science along the way. This way, you'll ultimately be a better programmer, and hopefully less language-dependent.
Anyhow, here are a few good books:
The C++ Programming Language (Bjarne Stroustrup) - definitely get this book sometime in your C++ career
C++ Primer (Stanley Lippman, Josée Lajoie, and Barbara E. Moo) and/or C++ Without Fear (Brian Overland) - both are good introductions to the C++ programming language
Programming: Principles and Practice Using C++ (Bjarne Stroustrup) - another fantasic C++ book, good for beginners or even more advanced programmers
I would as recommend you go to StackOverflow's list of C++ books, as there are some great ones on there.
If you can, find a computer science-y book, and maybe look for some books on data structures and algorithms as well.
UPDATE: On the topic of "canonical", see the C++ Programming Language or Programming: Principles and Practices Using C++