C++ What is and isn't implemented in the Arduino IDE

One thing you should probably understand is what is even meant by IDE, mainly because the only part of the Arduino IDE that's actually 'Arduino' is the editor. The underlying library is AVR Libc, which you've been introduced to, the compiler is gcc, an open source compiler with an AVR compatible implementation, and avrdude is the program used to download the compiled binaries to the microcontroller.

If your real goal is to become proficient at programming, your best avenue honestly is to focus on learning C++ on the PC. Remove the microcontroller from the equation. Once you are proficient with C++ on it's own, it'll be far easier to make the transition to programming in the AVR environment. There are far more resources for learning C++ than there are for learning AVR programming. And honestly, a high percentage of the 'tutorials' out there for AVR programming are real good examples of how not to do things.