If you're coming from dotNet or Java, you'll find that C++ has a much smaller standard library than you are used to.
The first place to start is the Standard C++ Library, sometimes (erroneously) referred to as the STL*. This contains lots of libraries relating to containers (lists, arrays, vectors, etc), strings (not a part of the language, but a library) and various other stuff (input/output streams, algorithms, etc).
There are also some newer libraries that are part of the C++11 standard that are not 100% supported by all compilers yet. Consult your compiler docs to see what is supported on your platform.
After that, you might want to have a look at the Boost C++ libraries. These are a group of peer-reviewed community submitted libraries that are generally of pretty high quality (several were accepted into the standard library in C++11). There's all kinds of stuff here from file systems to networking to more esoteric concepts like template meta-programming.
Going from there, there isn't really a centralised repository. You will find commercial libraries (from the likes of Microsoft) or FOSS libs in various places around the net.
So to answer your questions:
1. There are a lot of C++ libraries. There's no meaningfully correct answer to this question.
2. Generally the include file and the description of the library functionality will be found with the libraries documentation. Some have excellent documentation, some will have little more than a header and possibly a few simple examples.
*Please don't call it that, it hasn't been accurate for over a decade now. I'm only mentioning it because you will sometimes read about people calling it the "STL".
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight