I don't see why not, even if Windows, by tradition, sees itself as the center of the Universe. Sensible partitioning and GRUB should make a dual boot work.
But why ask this on a C++ forum? Take it to Ubuntu's forums.
Yes, its rather easy. IF you are starting from scratch, I recommend install windows first then ubuntu. That way you dont have to reinstall grub. Otherwise, windows will take over the boot sector and you will have to reinstall grub to dual boot. But that is really easy, you just load the live cd of ubuntu and there are like 2 commands you have to do.