Re: Как написать Any с uniform initialization
От: Igore Россия  
Дата: 28.11.19 07:56
Оценка: 1 (1) +1
Здравствуйте, Molchalnik, Вы писали:

M>В общем так. написал аналог std::any, свой, собственный (когда ещё std::any не было на моей платформе). Назовём его Any. Проблема в том, чтобы можно было инициализировать std::vector<Any> через фигурные скобочки. Но это нифига не выходит, потому что нужно вводть шаблонный конструктор, а он заменяет собой конструктор копирования по умолчанию. Как задавить? Пока я додумался только до friendly шаблонного класса со специализациями, который вызывает нужную функцию инициализации.


M>upd. набрал пример на колиру второпях — исправил.

Добавь
Any( Any& )  {printf("\ncopy2");}

И раз в заголовке uniform, то
Any x1{ x0 };

правильно работает
Отредактировано 28.11.2019 7:57 Igore . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.