170 похожих чатов

Пишу обертку-шаблон для типа T, который хранит внутри себя T&.

Как сделать так, чтобы объекты типа этого шаблона воспринимались как T&?

template<typename T>
class wrapper {
T& ref;
};

Хочу чтобы объект типа wrapper<some_class> вел себя так же, как some_class&

19 ответов

5 просмотров

лучшее что ты можешь сделать это добавить operator T& и operator->

Лучше вот так template <typename T> class wrapper { public: T* ref; };

https://en.cppreference.com/w/cpp/utility/functional/reference_wrapper ?

Чтобы он вел себя точно как объект, на книгой держит ссылку, требуется, в частности, перегрузка точки, а это невозможно в языке.

И непонятно зачем нужен такой объект, если можно просто завести ссылку на целевой тип.

Michael
Да

Ну так это же решение. Непонятно зачем топикстартеру свой класс.

serfcity--fsanitize=undefined,address Автор вопроса
d7d1cd
Ну так это же решение. Непонятно зачем топикстарте...

Новый тип ссылок ввести, чтобы отличать копирование от перемещения.

serfcity--fsanitize=undefined,address Автор вопроса
Michael
C++98

Да, да

serfcity--fsanitize=undefined,address Автор вопроса
Michael
C++98 :)

а ну ссзб

serfcity -fsanitize=undefined,address
Новый тип ссылок ввести, чтобы отличать копировани...

Если у вас 98 стандарт, то там по определению нет перемещения. Как вы узнаете об этом в своем самописном классе?

serfcity--fsanitize=undefined,address Автор вопроса
d7d1cd
Если у вас 98 стандарт, то там по определению нет ...

Конструктор и operator= получит мой враппер, вместо обычной ссылки.

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
Так а кто может спарсить всех участников чата? Идишники
Magic
17
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Ребята, а из API геокодеров (по адресам в РФ) что сейчас актуального и есть ли среди актуального бесплатное/с нормаотным лимитом запросов? ситуация простая - на сайте периоди...
Dreamer_0x01 VeseloV
8
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Карта сайта