Вопросы по теме 'pointer-to-member'

Самый простой способ закодировать функтор карты structarray в C++
Это опрос мнений о наиболее читабельном способе сделать что-то — использовать ли указатель на член C++, смещение байта или шаблонный функтор для определения «выбрать член X из структуры foo». У меня есть тип, который содержит большой вектор...
441 просмотров

Вывод типа шаблона для указателя на функцию-член
У меня проблема, очень похожая на проблему, представленную Морфеусом, в следующем вопросе: Перегруженный указатель функции-члена на шаблон Решение, предложенное Ричардом Корденом, требует, чтобы пользователь явно указал тип параметра функции,...
1706 просмотров
schedule 09.01.2023

Странное правило С++ для указателей функций-членов?
Возможный дубликат: Ошибка с адресом в скобках функция-член В этом недавнем вопросе OP столкнулся со странным положением языка C++, которое делает незаконным взять адрес функции-члена, если имя этой функции-члена заключено в скобки....
1988 просмотров
schedule 06.07.2022

Как я могу передать функцию-член, где ожидается свободная функция?
Вопрос следующий: рассмотрим этот кусок кода: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int, int)) {...
277061 просмотров

Что такое `int foo::*bar::*`?
Отличительной особенностью C++ является то, что он позволяет создавать переменные типа указатель на член. Наиболее распространенным вариантом использования, по-видимому, является получение указателя на метод: struct foo { int x() { return 5;...
5211 просмотров
schedule 27.01.2023

Constexpr указатель на преобразование элемента данных
GCC 8.2.1 и MSVC 19.20 компилируют приведенный ниже код, но Clang 8.0.0 и ICC 19.0.1 этого не делают. // Base class. struct Base {}; // Data class. struct Data { int foo; }; // Derived class. struct Derived : Base, Data { int bar; }; // Main...
591 просмотров

Компактный способ вывести дополнительные типы параметров шаблона для аргументов шаблона указателя на член.
Примечание: этот вопрос в значительной степени академический. Мы можем использовать указатель на член в качестве параметра шаблона в шаблоне класса, но если «зависимые» типы неизвестны, мы должны объявить их все как параметры шаблона. Например:...
30 просмотров
schedule 27.07.2022