Описание тега member-pointers
2
ответа
Что означает аргументы шаблона этого типа - `ClassA<T> T:: * ELEM`?
Я недавно сталкивался с этим кодом в контексте навязчивых списков: template<typename T> struct Node{ T *next; T *prev; Node(): next(nullptr), prev(nullptr){} }; /* * Intrusive doubly-linked-list * * */ template<typename T, Node<T> T::…
26 окт '16 в 20:12
1
ответ
Преимущество копирования аргументов класса указателя для членов класса?
У меня есть класс проигрывателя, который использует мой класс DirectX Graphics для создания поверхностей и рисования спрайтов. Я передаю графический класс как указатель на метод класса проигрывателя следующим образом: **game.cpp** m_pPlayer->Init…
10 ноя '14 в 10:05
1
ответ
Передача указателя для умножения классов на функцию-член
У меня есть следующие занятия: "Integrator.h" #include <vector> #include <array> using namespace std; class Integrator { public: using coord_type = array<double, 3>; protected: void base_integrate_callback(const coord_type, double …
11 сен '16 в 14:13
1
ответ
Почему нельзя приводить Derived T::* в Base T::*?
Предпосылки. Многие функциональные языки поддерживают алгебраические типы данных, которые в некоторой степени можно эмулировать с помощью виртуальных функций и наследования. Наиболее очевидное решение заключается в распределении кучи, поскольку прои…
13 окт '14 в 10:59
2
ответа
Шаблон C++ и наследование с указателем метода
Если я заявляю: class Avoidance : public Schema<std_msgs::String,prog1::Command>{ и я пытаюсь void*(Schema<std_msgs::String,prog1::Command>::*pt)(); pt=&Avoidance::frontBusy; компилятор сообщи мне error: cannot convert ‘void* (Avoida…
18 янв '13 в 15:09
2
ответа
У Haskell есть указатели / ссылки на участников записи?
Я могу создавать и ссылаться на относительные указатели для структурирования членов в C++, используя ::*, .*, а также ->* синтаксис вроде: char* fstab_t::*field = &fstab_t::fs_vfstype; my_fstab.*field = ... В Haskell я могу легко создавать вр…
04 фев '12 в 19:54
3
ответа
Уменьшить количество специализаций шаблона при использовании указателя на метод const и неконстантный
У меня есть некоторый шаблон кода, который принимает общий указатель на класс и вызывает функцию или метод. Проблема возникает, если вызываемый метод определен как const, Пример: struct Y {}; struct X { const Y Go() const { return Y{}; } const Y Go2…
14 янв '19 в 16:37
1
ответ
C++ Указатель на член члена
//#define NOT_WORKS #define HOW(X) 0 struct A { }; struct B { A a; }; struct C { B b; }; int main(int argc, char **argv) { A B::*ba = &B::a; // ba is a pointer to B::a member B C::*cb = &C::b; // cb is a pointer to C::b member #ifdef NOT_WOR…
08 май '13 в 10:33
1
ответ
Обратный указатель на элемент данных
Привет я пытаюсь выяснить, является ли законным (по C++) стандарт для вычисления смещения члена класса (для того, чтобы обратить его). class A { public: int a, b, c, d; }; template <typename ParentClass, typename T> ParentClass const * offset_…
07 апр '16 в 15:29
1
ответ
Вызов функции через указатель на члена класса
В следующем коде: class foo { public: void foo_function() {}; }; class bar { public: foo foo_member; void bar_function(foo bar::*p_foo) { // what is the corrct sintax for following: this->*p_foo->foo_function(); // expression must have a point…
04 мар '15 в 22:09
2
ответа
Оболочка функции-члена с шаблоном с одним аргументом?
Я сделал шаблонную функцию, которая принимает функцию-член в качестве параметра. Однако, поскольку класс должен быть объявлен до того, как его можно будет использовать как часть параметра функции-члена, я должен сделать его отдельным параметром: tem…
16 дек '15 в 23:27
2
ответа
Указатель переменной члена
Для данной структуры: struct foo { void fooFunc(){} int fooVar = 0; }; Я могу создать функцию вызова функции: std::mem_fn( &foo::fooFunc ) так что я могу передать его в другой метод и вызвать его на объекте.Я хочу знать, есть ли подобная оболочк…
04 июн '14 в 12:11
1
ответ
Могу ли я безопасно привести указатель на член const того же типа, но не const?
... хотя указатели на функции-члены являются странными животными? Я кодирую библиотеку для привязки классов C++ к Lua. Мне приходится иметь дело с стиранием типов, вызванным помещением объектов определенных типов в стек Lua (и, следовательно, привед…
08 апр '12 в 13:44
1
ответ
Ошибка компиляции: неразрешенный тип перегруженной функции
Я пытаюсь скомпилировать следующее с g++ 4.7.2: template <typename T> struct A { struct B { T t; template<T B::*M> T get() { return this->*M; } }; B b; T get() { return b.get<&B::t>(); } }; int main() { A<int> a; a.get…
28 мар '13 в 23:16
1
ответ
Проверка на равенство производных шаблонных классов в базовом классе
Это мой первый вопрос на этой платформе. Прошу прощения, если что-то неясно или я не смог спросить соответствующим образом. Код ниже должен компилироваться с любым компилятором C++11. Я пытался свести его к минимуму. Смысл этого кода может быть поте…
13 окт '12 в 12:50
2
ответа
Сравнение членов
Я читал о встроенных операторах сравнения. Мне стало интересно, почему нет операторов упорядочения (<, <=, >, >=) для указателей членов. Допустимо сравнивать адреса двух членов экземпляра структуры. http://en.cppreference.com/w/cpp/langu…
08 май '18 в 16:34
3
ответа
Указатель на функцию-член, который возвращает тот же тип указателя на функцию-член
Я хотел бы объявить указатель на функцию-член в C++, который возвращает тот же тип указателя на функцию-член Это не работает: class MyClass { public: typedef FunctionPtr (MyClass::*FunctionPtr)(); } Кто-нибудь знает решение?
02 июл '10 в 20:22
1
ответ
Назначить назначенную функцию указателю на член функции?
Дано void* hello () { cout << "Test.\n"; } а также struct _table_struct { void *(*hello) (); }; Как мы назначаем функцию (привет) указателю на член функции? Я попробовал это (в основном): _table_struct g_table; _table_struct *g_ptr_table = &am…
11 мар '15 в 00:08
1
ответ
Функторы + указатели на элементы для создания объекта сигнала
У меня есть этот код: // signal supporter parent class signalable {}; template <class typeT = signalable> typedef void (typeT::*trig)(std::string); template <class typeT = signalable> class trigger { private: typeT* instance; typeT::trig…
21 апр '12 в 11:15
1
ответ
Указатель на член класса в качестве параметра шаблона (с типом следующего класса)
Я пытаюсь определить внутренний список как шаблонный класс, который имеет функцию-тип safe container_of. Для этого шаблон должен включать тип контейнера и смещение, где в контейнере может быть найден список (указатель на член). (См. Ниже пример в C)…
18 ноя '14 в 21:07