I'm really lost in AVR studio. Seems I've got more to learn about C++ programming.
Arduino programming is
C++ programming. The main differences are:
1. In the Arduino environment, all the core functions and libraries are available by default. In AVR Studio you need to copy any Arduino core functions and libraries you need into your project.
2. In C++ you need to declare anything you reference before you refer to it (with a few exceptions, such as class member declarations referred to from other declarations in the same class). The Arduino environment generates forward declarations for you automatically, so you mostly don't need to worry about this.
The AVR Studio editor is much nicer than the Arduino editor and the error messages are shown in the right place. I generally use AVR Studio for ATtiny programming, but Arduino IDE for atmega328p and larger programming.