Пишу я если что на плюсах, недавно попробовал Rust.
Впечатления от дизайна странные.
Во первых, почему указатели в Rust называются ссылками?
Ссылка - это псевдоним для переменной.
Но в Rust ссылки берут адрес и работают как указатели в плюсах:
let var: i32 = 1;
let link: &i32 = & var; // &var - адрес var? Это ссылка или указатель?
println! ("{}", *link); // Ссылка с оператором разыменования?
И при всем этом есть и обычные небезопасные указатели в C - стиле:
let pointer: *const i32 = &var as *const i32;
unsafe { println! ("{}", *pointer); }
И если в плюсах
int *const a=nullptr; // константный указатель
То в Rust
let a: *const i32; // указатель на константу
Вот как это вместить - после плюсов вызывает неприязнь.
Зачем называть указатель ссылкой?