Yesterday was a home improvement day, adding 20 bags of cellulose insulation to the attic. Couple of hours with with 2 people and a blower and hopefully worth the cost.
#HomeImprovement
#attic #insulation #RValue
Yesterday was a home improvement day, adding 20 bags of cellulose insulation to the attic. Couple of hours with with 2 people and a blower and hopefully worth the cost.
#HomeImprovement
#attic #insulation #RValue
[Перевод] Думай как компилятор: позиции и значения в Rust
Некоторое время назад мне попался в Интернете вопрос о таком синтаксисе в Rust: *pointer_of_some_kind = blah; Автору вопроса было интересно, как компилятор понимает такой код, особенно, если в данном случае используется не ссылка, а умный указатель. Я написал ему пространный ответ, но потом подумал, что стоило бы ещё развернуть этот текст и переработать в статью для блога, на случай, если такой вопрос интересует и более широкую аудиторию. В настоящее время я не работаю над компилятором Rust и, в сущности, никогда не работал, но семантику языка я знаю хорошо. Если вы корифей Rust, то этот пост может быть вам не слишком интересен, разве что вы хотели бы подробнее разобраться с категориями значений в Rust. Но, если вы не так много времени тратите на изучение тонких нюансов языков программирования — надеюсь, вам понравится одним глазочком заглянуть в этот мир.
[Перевод] 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семантика #семантика_перемещения
>/&& замість move() №10Оскільки історично так склалось що по стандарту в C++ обʼєкти копіюються, а не переміщуються, тому іноді потрібно додатково вказувати виклик функції move при переміщенні обʼєкта для оптимізації. Але виглядає це не дуже тому було б дуже класно якби у нас був унарний оператор > який би виконував те саме що раніше згадана функція.
int x = 123;
int y = >x;
# або при виклику функції
f(>y);
Для зручності він повинен мати пріоритет найвищий, на мою думку. І не повинен мати, ні лівої, ні правої асоціативності, щоб не можна було робити кілька викликів одночасно.
Жаль що у
C++не можна створювати свої оператори як уHaskell.
Також можливо що більш логічно буде використати не оператор >, а &&. Цей варіант виглядає зрозумілішим у цьому випадку оскільки при прийманні rvalue значення позначається це саме так.
std::string x = "...";
f(&&x);
Мінус цього варіанту в, тому що його легше переплутати з оператором отримання адресу (&).
Реалізація такого оператора може виглядати так:
#include <type_traits>
template <typename T>
std::remove_reference_t<T>&& operator>(T&& x) {
return static_cast<std::remove_reference_t<T>&&>(x);
}
Реалізація оператора && не відрізнялася нічим крім назви.
#cpp #cxx #operators #proposal #move #rvalue #values #оператори #переміщення #програмування
Difference Between U Value, R value, k value And Other Terms Used For Insulation: https://lttr.ai/AI2Qn
#insulationvalues #homeinsulation #Insulation #UValue #UnderstandingInsulationTerms #OfferValuableInsights #RValue #CompleteReferenceGuide
The C++ rvalue Lifetime Disaster – Arno Schoedl – C++ on Sea 2023
https://www.youtube.com/watch?v=9V195P3Tv_8
#coding #cpp #programming #rvalue #softwareengineering
#Coronavirus #R: Is this the crucial number? - BBC News
This news is encouraging but it indicates that lifting the #lockdown prematurely could be devastating.