Возможна ли инициализация Struct/Union с указателями к членам?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Возможна ли инициализация Struct/Union с указателями к членам?

Сообщение Anonymous »

просматривал CppReerference и не мог найти ничего похожего на то, что я хотел бы использовать. По этой причине я не могу использовать синтаксис u {value1, value2} (кажется, называется синтаксисом «Список объявлений») для структур, хотя это не будет работать для профсоюзов. У меня есть доступ к указателю к члену, и я хотел бы знать, есть ли способ использовать его для инициализации структуры в этом контексте. Для моих целей, союз не совокупно.

Код: Выделить всё

union U {
int    a;
double b;
};

static constexpr inline auto a_ptr = &U::a;
static constexpr inline auto b_ptr = &U::b;

static constexpr inline U u1 = U{}; // fine
static constexpr inline U u2 = U{.b = 1.0 }; // fine in this example, but only works if U is aggregate, need something else
static constexpr inline U u3 = U{.*b_ptr = 1.0 }; // syntax error
< /code>
Это не может компилироваться с синтаксической ошибкой. Та же проблема возникает, когда я пытаюсь то же самое со структурой.union U {
constexpr inline ~U() {
// assume memory leak handled external
}

int         a;
double      b;
std::string c;
};

static constexpr inline U u = U{.c = "lorem ipsum" };
, когда у вас есть C_PTR равен & u :: c .

Подробнее здесь: https://stackoverflow.com/questions/794 ... s-possible
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Возможна ли инициализация Struct/Union с указателями к членам?
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Почему malloc_usable_size of struct с 4 указателями составляет 40 вместо 32 [дубликат]
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Polars struct.field(list[str]) возвращает один столбец при работе со списком[Struct]
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Почему struct {u64} быстрее, чем struct {u32, u32}?
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Какое приведение использовать при приведении между указателями и intptr_t/uintptr_t?
    Гость » » в форуме C++
    0 Ответы
    45 Просмотры
    Последнее сообщение Гость

Вернуться в «C++»