Background:
Hey, I'm sort of a beginner at programming, I have a been programming for a couple of years in Flash using AS3 and would like to move onto something a bit bigger. Before/during my AS3 Era I gave VB.net a little go, and I am then followed Nick Gravelyns tile engine tutorial in C# using XNA framework. I have heard that all the big games use c++ and am interested in trying to learn this.

Actual Question:
So this leads me to this: What is a good c++ API for a beginner (at c++), which can do 2D, but 3D as well (for later, when I get better), is widely used and has a big community? while using c#, XNA Game Studio was perfect, is there something equivalent in c++???

Thanks in advance.