Из-за выравнивания и заполнения базы данных C ++ фактически не дает никакой гарантии, что член структуры находится в соответствии с кумулятивным размером предыдущих членов. Если вы пытаетесь записать первый Person
's birthMonth
, это будет так же просто, как:
cin >> people[0].birthMonth;
EDIT: для фактического адреса заголовка вопроса, если вы хотите int*
указатель на birthMonth
конкретного человека, это делается с использованием адреса оператора:
int* birthMonth_ptr = &people[0].birthMonth;
Но если вы хотите, чтобы указатель на был любым Person
's birthMonth
, вы можете использовать указатель-к-член :
// Note that no Person object is used when defining
int Person::*member_ptr = &Person::birthMonth;
// To use the pointer though, you need an object
int a_persons_birthdate = people[0].*member_ptr;
Также обратите внимание, что указатель на элемент вводится иначе, чем обычный указатель, t быть брошенным к одному.
Вы не делаете ничего плохого.
Для атрибута DateTime
Azure AD B2C читает и пишет:
Значение «метаданных» помогает в сериализации значения атрибута.