valarray vs. vector: ¿Por qué se introdujo valarray?

Si estoha sido preguntado antes, y la respuesta ha sido:

valarrays (arrays de valores) tienen la intención de llevar algo de la velocidad de Fortran a C ++. No harías unvalarray de punteros para que el compilador pueda hacer suposiciones sobre el código y optimizarlo mejor. (La razón principal por la que Fortran es tan rápido es que no hay un tipo de puntero, por lo que no puede haber alias de punteros).

o:

valarray También se supone que elimina cualquier posibilidad de aliasing [...]

Pero estas respuestas no tienen sentido para mí.

valarray yvector sonplantillas de clase, y como tal, ni siquieraexiste hasta que se instancia.
Y por supuesto, unvector<int> no causa problemas de aliasing más devalarray<int> hace.

Dado esto, ¿cuál era el propósito devalarray¿Y por qué no simplemente pusieron la misma funcionalidad envector ¿en lugar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta