auto и proxy-объекты
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 10.11.25 21:19
Оценка:
Здравствуйте!

Вот у меня есть допустим какой-то мой map, есть там key_type, mapped_type...

Для обычного map я напишу:
auto  a = m["aaa"];
auto& b = m["bbb"];


И всё будет хорошо. Но. Раньше можно было использовать прокси объекты:
class Proxy;

class MyMap
{
//...
Proxy operator[](string key)
//..

};

//..

class Proxy
{
//...
operator mapped_type()
//...

Proxy(const mapped_type&m)
//...

};


И всё работало, потому что не было auto, а надо было явно выписывать тип

А теперь с auto как оно работает?

Если я напишу
auto a = myMap["aaa"];


то я же получу не mapped_type, а Proxy, а со ссылкой вообще висяк получу.

Как это сейчас разруливается?
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.