Arrays vs Vectors: Similitudes y diferencias introductorias [cerrado]

¿Cuáles son las diferencias entre una matriz y un vector en C ++? Un ejemplo de las diferencias podría incluir bibliotecas, simbolismo, habilidades, etc.

Formación

Las matrices contienen un número específico de elementos de un tipo particular. Para que el compilador pueda reservar la cantidad necesaria de espacio cuando se compila el programa, debe especificar el tipo y la cantidad de elementos que contendrá la matriz cuando esté definido. El compilador debe poder determinar este valor cuando se compila el programa. Una vez que se ha definido una matriz, se usa el identificador para la matriz junto con un índice para acceder a elementos específicos de la matriz. [...] las matrices están indexadas a cero; es decir, el primer elemento está en el índice 0. Este esquema de indexación es indicativo de la estrecha relación en C ++ entre los punteros y las matrices y las reglas que el lenguaje define para la aritmética de punteros.

- C ++ Pocket Reference

Vector

Un vector es una secuencia de objetos de tamaño dinámico que proporciona un estilo de matrizoperator[] acceso aleatorio. La función miembropush_back copia sus argumentos a través del constructor de copias, agrega esa copia como el último elemento del vector e incrementa su tamaño en uno.pop_back hace exactamente lo contrario, eliminando el último elemento. Insertar o eliminar elementos del final de un vector lleva tiempo constante amortizado, y insertar o eliminar desde cualquier otra ubicación requiere tiempo lineal. Estos son los fundamentos de los vectores. Hay mucho más para ellos. En la mayoría de los casos, un vector debe ser su primera elección sobre una matriz de estilo C. En primer lugar, tienen un tamaño dinámico, lo que significa que pueden crecer según sea necesario. No tiene que hacer todo tipo de investigación para encontrar un tamaño estático óptimo, como en el caso de las matrices C; un vector crece según sea necesario, y se puede redimensionar manualmente de mayor o menor tamaño si es necesario. En segundo lugar, los vectores ofrecen límites de verificación con laat función miembro (pero no conoperator[]), para que pueda hacer algo si hace referencia a un índice inexistente en lugar de simplemente ver cómo se bloquea su programa o, peor aún, continuar la ejecución con datos corruptos.

- C ++ Cookbook

Respuestas a la pregunta(3)

Su respuesta a la pregunta