The Arduino IDE uses C++ but of course the physical environment is limited so not all C/C++ features can be used and the Arduino environment has helper functions to enable you to use the hardware easily and the Serial monitor for input/output.
Using the Arduino to learn C++ will be difficult as all general C/C++ text books and tutorials will expect a very different environment.
Having said that, if you write your own main() function the IDE will compile it and other functions and not compile its own hidden main() and init() functions into the code.
What is it that you want to use the Arduino for ?