Your comments

Ну это ты далеко запрыгнул, про Крым вспомнил. Вот у меня есть примерчик чуть свежее и чуть циничнее.

Image 1441

Блин, всеми силами пытался держаться ридонли, но не осилил.

А как это "Россия никого не защищает"? Не слушали речь фюрера Путина 24 февраля о защите глубинного народа Донбасса? Ай-ай-ай такой клеветой на солнцеликого разбрасываться, тебя так могут и зарплаты лишить.

Вся эта проблема, по крайней мере в С++, не является проблемой при соблюдении const-чистоты. Если класс у нас определен как

class TempRange {
public:
    double get_low() const { /* ... */ }
    double get_high() const { /* ... */ }
    double set_low() { /* ... */ }
    double set_high() { /* ... */ }
};

И принимающий метод будет выглядеть как-то так

bool within_range(const TempRange& tempRange) { /* ... */ }

То не возникнет проблем ни с лишним выделением памяти, ни с иммутабельностью/мутабельностью этого самого объекта. Все упирается в грамотное использование возможностей языка, кратко говоря.

Держи в курсе, дружище.