i have a c++ programs written for a raspberry pi (arm processor) and i need to understand it,Why? Abstraction is great but abstraction (like abstract art) can also mean hard to understand. In small constrained systems the real hardware has to be embraced. A skilled C engineer can easily handle the programming needs of a 8-16 bit small system with no OS, limited memory, small stacks and limited and/or strange von-Neuman or Harvard architectures. For 32-bit embedded systems with modern cpu architectures C++ might a sensible option.
CS programmers gone wild in an EE world is usually what happens when tools like C++ are used in projects that should be a Procedural programming task.
I already started learning c++How about just learning the basics of C++ first? Then you will be in a good position to deal with the ARM/Rpi specific calls in the code you are looking at.