Re[7]: auto и proxy-объекты
От: so5team https://stiffstream.com
Дата: 13.11.25 03:50
Оценка:
Здравствуйте, Marty, Вы писали:

S>>Логика мне непонятна (как и многое из того, что вы здесь показываете).


M>Я заметил


А могли бы и задуматься почему ваши гениальные замыслы не находят понимания.

S>>Тогда у вас не получится заменить значение по уже имеющемуся ключу. Для такой замены нужно будет использовать другой метод. Внутри которого вы сможете делать что вам захочется (хоть обновлять, хоть перемещать в конец). И никакие прокси вам не потребуются.


M>Контейнер мой, но передаётся в чужой код, который кладёт значения в map через operator[]


Значит и вы, и ваши пользователи должны страдать, ибо нарушается принцип наименьшего удивления.

Если хочется извращений, то попробуйте поэкспериментировать с методами вашего прокси, которые будут разрешены только для случая rvalue reference.
Что-то типа:
class proxy {
public:
  void f() &&;
  ...
};

Тогда метод f() можно будет вызвать у объекта proxy только если это временный объект.
А вот если кто-то его сохранил на стеке и пытается вызвать f по обычной или конст-ссылке, то компилятор ударит по рукам: https://wandbox.org/permlink/s5hlLuSfHKbEIg0g
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.