Я только что был сожжен следующим.
Если я хочу инициализировать std::vector
из n
элементов константой X
, я делаю это:
std::vector<double> v(n, X);
Но если мне нужно инициализировать std::valarray
из n
элементов с константой X
, мне нужно поменять местами размер и инициализирующую константу:
std::valarray<double> va(X, n);
Мне это кажется произвольным «попался».
Есть ли техническая причина или какое-то конструктивное обоснование, предоставленное комитетом по стандартам при принятии решения о порядке параметров конструктора заполнения, когда std::vector
и std::valarray
были стандартизированы?
std::valarray
немного экзот среди контейнеров, полагаю, многое было бы иначе, если бы его добавили сегодня. Я помню ответ, объясняющий некоторую предысторию, давайте посмотрим, смогу ли я ее найти. - person 463035818_is_not_a_number   schedule 08.07.2020std::valarray
никогда не был так полезен, как предполагалось - person 463035818_is_not_a_number   schedule 08.07.2020