[Перевод] Думай как компилятор: позиции и значения в Rust

Некоторое время назад мне попался в Интернете вопрос о таком синтаксисе в Rust: *pointer_of_some_kind = blah; Автору вопроса было интересно, как компилятор понимает такой код, особенно, если в данном случае используется не ссылка, а умный указатель. Я написал ему пространный ответ, но потом подумал, что стоило бы ещё развернуть этот текст и переработать в статью для блога, на случай, если такой вопрос интересует и более широкую аудиторию. В настоящее время я не работаю над компилятором Rust и, в сущности, никогда не работал, но семантику языка я знаю хорошо. Если вы корифей Rust, то этот пост может быть вам не слишком интересен, разве что вы хотели бы подробнее разобраться с категориями значений в Rust. Но, если вы не так много времени тратите на изучение тонких нюансов языков программирования — надеюсь, вам понравится одним глазочком заглянуть в этот мир.

https://habr.com/ru/articles/935568/

#Rust #C++ #rvalue #lvalue #чистый_код

Думай как компилятор: позиции и значения в Rust

Некоторое время назад мне попался в Интернете вопрос о таком синтаксисе в Rust: *pointer_of_some_kind = blah; Автору вопроса было интересно, как компилятор понимает такой код, особенно, если в данном...

Хабр

[Перевод] lvalues, rvalues, glvalues, prvalues, xvalues, помогите! -

Случайно попалась довольно старая статья 2018 года с простым и понятным описанием категорий значений в C++. До неё всякие glvalues, prvalues, xvalues были малопонятными для меня. cppreference.com просто перечисляет категории, и это не добавляет понимания, всё кажется чрезмерно излишним. На stackoverflow.com есть 24 поста разной степени ценности, что только добавляет недоумения от сложности этой темы. Там уже есть картинки, которые призваны упростить понимание, например такие

https://habr.com/ru/articles/869854/

#C++ #lvalue #rvalue #glvalue #prvalue #xvalue #value_category #категория_значений #moveсемантика #семантика_перемещения

lvalues, rvalues, glvalues, prvalues, xvalues, помогите! -

Отсебятина Оригинальный заголовок: lvalues, rvalues, glvalues, prvalues, xvalues, help! Хабр не разрешает поставить восклицательный знак в конце заголовка. Случайно попалась эта довольно старая статья...

Хабр