Немного поизучал Rust, и решил собрать все преимущества заявляемые адептами.
- Из-за знания компилятором, что & mut - это уникальная ссылка, то параметры функции не будут алиаситься с обычной ссылкой:
fn f(s: & mut str, s2: & str) -> type // s и s2 указывают на разную память, 100% компилятор знает об этом
// в стандарте С++ нет restrict
- Возможно, большие возможности в compile-time чем у С++, в частности упоминается возможность прочитать файл во время компиляции:
const IMAGE: &[u8] = include_bytes!("/path/some_file.png");
-
Map в rust реализован с помощью алгоритма BTreeMap, а в С++ - std::map красно-чёрное дерево, BTreeMap быстрее…
-
HashMap в rust - открытая адресация, в С++ std::unordered_map - метод цепочек, открытая адресация быстрее…
-
В rust нет объектов, везде используется memcpy, а тот же resize вектора делается через realloc, бысрее чем move конструкторы в С++
помогите дополнить список.
возможно, в будущем прочтём в блоге у царя, где он помножит на ноль все эти преимущества.