Dont listen to me! I might be wrong!
I do not program C++, but agree with Jalf in it being difficult for beginners, there are lots of things that have to be done manually that other languages will do for you automatically, such as memory allocation, garbage collection etc. they are also right in saying that C++ does not know audio, and that other languages have audio capabilities built in from scratch. However, generally, most of these are fairly basic capabilties: opening and playing files, sending the playhead to different parts of the file, adjust panning and volume, maybe extracting eq data.
But...Im guessing that you want to get a little deeper and actually shape the sound, whether through synthesis or effects, and that you want to make these things instead of just add them. I would encourage you to look at VST and VSTi, but this is c++ area (JUCE library, awesome awesome awesome), and hard hard work, but if you want to make your own product, then it might be the way. otherwise, as others have suggested CSound, Max, Cycling, and maybe Processing might be of interest. software like Reaktor allow you to patch together modular componenets with a lot less (if any) coding.
go and have a look at some of the forums on KVRAudio, there are a few heroes there who developed old classic freeware like Hammerhead, and then other indie software like Fruity Loops, Rebirth, Tuareg, Audiomulch etc.
I think learning about VST and C++ is the best, but it will be a long road with pain and anguish, and unless you wish to create a stand alone piece of software or a plugin for another piece of software (apart from Csound etc), it will be dissapointing.
I think.