valarray vs. vector: Por que o valarray foi introduzido?

Sim estefoi perguntado antese a resposta foi:

valarrays (arrays de valor) são destinados a trazer um pouco da velocidade do Fortran para o C ++. Você não faria umavalarray de ponteiros para que o compilador possa fazer suposições sobre o código e otimizá-lo melhor. (O principal motivo pelo qual o Fortran é tão rápido é que não há nenhum tipo de ponteiro, portanto, não pode haver aliasing de ponteiro.)

ou:

valarray também é suposto para eliminar qualquer possibilidade de aliasing [...]

Mas essas respostas não fazem sentido para mim.

valarray evector estámodelos de classee, como tal, eles nem sequerexistir até instanciado.
E claro, umvector<int> não causa problemas de alias mais do quevalarray<int> faz.

Diante disso, qual foi o objetivo devalarray, e por que eles não simplesmente colocaram a mesma funcionalidade emvector em vez de?

questionAnswers(2)

yourAnswerToTheQuestion