ссылке три варианта кода, дающего одинаковый результат: https://gist.github.com/rust-play/e9f27276d928101225930856e680238a
Верны ли мои заключения, что
1. В варианте №1 аллокация происходит на каждой итерации, что не оптимально;
2. В варианте №2 flat_map неявно создает новый вектор, что тоже не оптимально в данном случае;
3. В варианте №3 все «лениво» и поэтому из предложенных решений этот вариант самый оптимальный.
Если я не прав ни в одном из утверждений, то почему?
а где flat_map создает новый вектор? просто не увидел что то
Абсолютно ни в одном варианте вектор не создаётся, кроме места, где был вызван collect
Обсуждают сегодня