Описание тега reference-wrapper
3
ответа
Передать вектор<reference_wrapper <int>> в вектор<int>?
У меня большой std::vector<int> a, но я хотел бы работать только над его частью. Идея заключалась в том, чтобы создать std::vector<reference_wrapper<int> > refa который содержит только указанное подмножество (в mwe все элементы 1< …
11 фев '14 в 16:44
1
ответ
Сериализация нестандартных конструктивных и альтернативных оболочек std::reference
Я попытался сериализовать свою (нейронную) сеть, и в настоящее время я застрял. Кажется, проблема в том, что вы не можете сериализовать std::reference_wrapper, Я не уверен, стоит ли мне либо изменить способ хранения ссылок на верхние узлы, либо прид…
15 мар '18 в 13:40
3
ответа
Передавая ссылки на шаблоны variadic, используйте std::reference-wrapper
Я пытаюсь передать в шаблонную функцию переменной список ссылок и передать его другой функции. Код, который я написал, выглядит следующим образом: template <typename T> void fun(cv::Point_<T> & pt) { pt.x++; pt.y++; } template <cl…
06 май '17 в 16:04
1
ответ
Доступ к членам класса с использованием reference_wrapper вместо стандартных указателей в C++11
Я пытаюсь построить unordered_map в vector переменные, которые являются членами моего класса. Я могу сделать это с помощью стандартных указателей * но это требует использования (*x) чтобы получить доступ к вектору. Интересно, если std::reference_wra…
05 ноя '18 в 20:32
1
ответ
Константа reference_wrapper
В следующем коде цель состоит в том, чтобы reference_wrapper<int> b так что когда a изменения, b также меняется, однако, нельзя допустить обратное, то есть a не должно меняться, когда b изменения. Я попробовал два способа: строки 7 и 8. Строка…
28 авг '14 в 08:29
1
ответ
Полиморфизм в C++ с вектором с базовыми классами и reference_wrapper
Мне нужно использовать полиморфизм в C++ для объектов, которые хранятся в векторе. Из других вопросов следует понимать, что объекты в векторе необходимо сохранять по ссылке, так как в противном случае происходит разрезание объектов. Насколько я пони…
13 окт '15 в 18:28
1
ответ
Оператор перегрузки == для const std::reference_wrapper в std::unordered_map
Я не могу понять, как получить std::string ссылка в std::unordered_map используя std::reference_wrapper, По следующей ссылке я понимаю, что мне нужно перегрузить operator==, Почему экземпляры шаблона не могут быть выведены в `std::reference_wrapper`…
19 сен '15 в 16:50
1
ответ
Как передать данные в справочную оболочку
Рассмотрим следующий фрагмент кода: //option no 1 struct foo{ foo(baz &b) : _b(b){} std::reference_wrapper<baz> _b; }; //option no 2 struct bar{ bar(std::reference_wrapper<baz> b) : _b(b){} std::reference_wrapper<baz> _b; }; Мн…
08 янв '19 в 21:34
2
ответа
Полиморфный вызов во время выполнения чисто виртуальной функции через std::reference_wrapper, ведущий себя непоследовательно
Я представляю вам эту загадку кода: Используя этот компилятор: user @ bruh: ~ / test $ g ++ --version g ++ (Ubuntu 7.3.0-16ubuntu3) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. Это бесплатное программное обеспечение; см. источник для усло…
01 мар '19 в 06:32
0
ответов
Семантика для обернутых объектов: ссылка / значение по умолчанию через std::move/std::ref
В последнее время я часто использую естественную идиому, которую я "открыл" в C++11, - это то, что обернутый объект может автоматически содержать ссылку, когда это возможно. Основной вопрос здесь будет о сравнении поведения этой "идиомы" с другими п…
19 ноя '13 в 19:36
1
ответ
`push_back` to `vector<reference_wrapper <string>>`приводит к тому, что строка в индексе 0 становится пустой
У меня есть два класса, которые являются прямым наследованием без переопределения, поэтому они в основном: vector<string> list а также vector< reference_wrapper<string> > filtered, Идея в том, что я хочу сохранить все значения в li…
27 мар '18 в 05:18
1
ответ
Почему reference_wrapper ведет себя по-разному для встроенных типов?
У меня есть следующее использование std::reference_wrapper для встроенного типа (double) и для определенного пользователем типа (std::string). Почему они ведут себя по-разному в случае оператора потока? #include<functional> //reference wrapper…
07 дек '15 в 22:16
2
ответа
Есть ли что-то вроде std::value_wrapper, параллельное std::reference_wrapper?
(ОБНОВЛЕНИЕ: Этот вопрос связан с реализацией класса-оболочки, переданного по значению для объекта, который имеет различные значения для const Foo а также Foo движение, основанное исключительно на сильных мнениях людей здесь. До того я проходил cons…
12 июл '12 в 23:45
2
ответа
Как установить начальный размер для контейнера STL reference_wrapper?
У меня есть vector некоторого ссылочного типа, завернутого в reference_wrapper, Так как мне нужно заполнить этот контейнер не по порядку, я пытаюсь установить начальный размер контейнера: vector<std::reference_wrapper<T>> v(5); v[3] = ..…
19 сен '14 в 16:26
1
ответ
Почему `std::reference_wrapper` устарела в C++17 и удалена в C++20?
Начиная с C++11, std::reference_wrapper это небольшой шаблон "shim", который является типом класса, который может быть преобразован из ссылочного типа и преобразован в него. Он может использоваться в универсальных контейнерах, которые иначе не подде…
08 авг '18 в 03:05
3
ответа
C++: справочные оболочки и printf
У меня есть std::vector из std::reference_wrapper объекты, которые я хочу напечатать с помощью printf (без cout); сейчас, если я напишу int a=5; std::reference_wrapper<int> b=a; printf("%i\n\n",b); Я получаю чепуху (я думаю, это адрес a); чтоб…
05 ноя '16 в 15:52
2
ответа
Проблема с std::reference_wrapper
Проблема ясна с помощью следующего кода: #include <functional> #include <iostream> #include <vector> int main() { //std::vector<int> a, b; int a = 0, b = 0; auto refa = std::ref(a); auto refb = std::ref(b); std::cout <<…
15 май '15 в 15:11
2
ответа
Reference_wrapper: Push_back работает, но не присваивает
В следующем коде push_back() std::ref в std::vector<reference_wrapper<Type>> хорошо работает, однако, присваивая std::ref к reference_wrapper<Type> не работает. Зачем? #include <iostream> #include <vector> #include <…
25 июл '14 в 22:17
0
ответов
Конструктор по умолчанию с std::reference_wrapper в качестве члена?
У меня есть эта структура: struct MyStruct { MyStruct(const Wrapper &wrapper, /*...*/) : wrapper(std::cref(wrapper)), /*...*/ {} std::reference_wrapper<Wrapper const> wrapper; /*...*/ }; Тем не менее, теперь я хочу использовать tbb::concur…
25 май '17 в 14:09
2
ответа
Неоднозначный конструктор, принимающий std::reference_wrapper при компиляции с -pedantic
У меня есть класс с конструктором копирования и конструктором, принимающим std::reference_wrapper: #include <functional> #include <iostream> class Class { public: Class() { std::cout << "Class()" << std::endl; } Class(Class c…
02 май '18 в 14:32