That is, after the constructor is finished, you can use the object as normal without consequences (no needing to keep track of size, etc).
Right other than checking for out of bounds access so there are no bugs within the game. That was my point after I created the class I could use it as needed. Without having to do anything to it from the external side because it already managed itself. And not knowing how a vector handled itself as a size 0 I was worried about how it would act.
Code:
TextureManager GameTextures;
GameTextures.AddTexture("thispic.png");
GameTextures.AddTexture("thatpic.png");
GameTextures.AddTexture("metoo.png");
..
...
... // later on in a render function
glBindTexture(GL_TEXTURE_2D, GameTextures.GetTexture(2));