Описание тега data-member-pointers

1 ответ

Обратный указатель на элемент данных

Привет я пытаюсь выяснить, является ли законным (по C++) стандарт для вычисления смещения члена класса (для того, чтобы обратить его). class A { public: int a, b, c, d; }; template <typename ParentClass, typename T> ParentClass const * offset_…
0 ответов

Должны ли указатели-члены всегда использовать new при инициализации?

В этом вопросе я получаю странную ошибку сегментации в методе, который вызывает конструктор, но, видимо, больше нигде (даже в CodeBreaker::testVectorOfElements звонил из main() чье определение выглядит так: void CodeBreaker::testVectorOfElements(int…
14 сен '16 в 21:08
2 ответа

Параметр автоматического шаблона, элемент данных и постоянство

Предположим, у меня есть указатель на элемент данных, и я хочу знать, является ли он постоянным или нет. Другими словами: struct S { const int i; // this is const int j; }; В C++ я делал что-то вроде этого: template<typename Class, typename Type,…
5 ответов

Используйте указатель члена структуры, чтобы заполнить структуру в C++

Таким образом, у меня есть следующее доступное: struct data_t { char field1[10]; char field2[20]; char field3[30]; }; const char *getData(const char *key); const char *field_keys[] = { "key1", "key2", "key3" }; Этот код предоставлен моему, и я не мо…
23 окт '18 в 15:14
1 ответ

Variadic список указателей на данные членов

Рассмотрим этот рабочий код. Функция searchByDataMember использует указатель на член данных в качестве аргумента для поиска значения среди контейнера. #include <iostream> #include <list> #include <string> template <typename Cont…
18 ноя '15 в 22:07
1 ответ

Как получить указатель на член из указателя класса и простой указатель на член в C++?

Я могу получить простой указатель на член экземпляра объекта, как в примере. Как мне сделать это в обратном направлении? struct S { int i; }; // We have a pointer to an instance of S and an int member pointer in S. // This function returns a pointer…
09 ноя '21 в 16:26
1 ответ

Указатели на элементы данных как ключи ассоциативного контейнера

Я пытаюсь создать std::setуказателей на элементы данных . Однако я не могу найти метод для сортировки или хеширования таких указателей. Их нельзя сравнивать с operator<, они, похоже, не поддерживаются, и нет стандартного целочисленного типа, кото…
0 ответов

С++ Лучший способ иметь член класса, который является указателем (или ссылкой) на другой класс и может обрабатывать как константные, так и неконстантные ситуации.

Рассмотрим следующий пример кода. Он компилируется и работает так, как ожидалось. Однако, если я добавлю «const» в начало первой строки основной функции, она не скомпилируется, потому что класс B принимает указатель на A , а с добавлением const вмес…
1 ответ

Есть ли способ получить указатель на член без упоминания имени класса, если он используется в контексте класса

Код ниже дает следующую ошибку компиляции: main.cpp:5:48: error: invalid use of non-static data member 'id' static constexpr int Type::* mem_ptr_id = &id; ^~ main.cpp:5:34: error: default initialization of an object of const type 'int Type::*con…
10 ноя '22 в 09:51