No hay que acostumbrarse a otros lenguajes de programacion donde la memoria es administrada por el lenguaje y el compilador. En esos lenguajes hay muchas cosas que parecen ser simple pero utilizan mas datos de lo que te muestran.
C/C++ son lenguajes de mas bajo nivel (lo que no significa que sean peores). Por ejemplo la memoria es monejada por el usuario (del lenguaje, no del programa) hay que recorda que se esta usando y que se tiene que liberar. Tambien saber el tamaño de un vector es tu responsabilidad.
Una idea podria ser crear una clase o usar vector. Pero como para que aprendas mira un simple ejemplo:
Código C:
Ver originalclass vector {
int longitud;
int array;
vector (int n) {
array = new int[n]; longitud = n;
}
~vector() {
delete array;
}
int length () { return longitud ; }
void redim ( int new_size) {
delete array;
array = new int[new_size];
}
int operator [] (int i) { return array[i];}
}
Esa clase es un pequeño ejemplo. El contructor asigna memoria, tenes una metodo length que te da el tamaño. Podes redimensionar el vector... y tenes el operador [] sobrecargado para que se pueda usar como si fuese un array. Lo bueno seria pero que no hice es usar temple para que pueda ser un vector de cualquier tipo.
Espero uqe te sirva un poco las explicaciones.