I don't have a recommendation for you... I learned standard C and C++ from books, then I just researched online for Arduino programming.
Note that Arduino C/C++ is different from standard C/C++ although the structure and syntax is similar there are many common functions, so you do need a specialized book (or website). For example, standard C & C++ expect a standardized keyboard, display, and disc storage. And the standard languages don't have anything for reading an I/O pin, etc.