Информация об изменениях

Сообщение Re[6]: Дурацкий вопрос от 26.11.2024 9:12

Изменено 26.11.2024 9:13 kov_serg

Re[6]: Дурацкий вопрос
Здравствуйте, so5team, Вы писали:

S>Так ведь указатель на член -- это же не смещение. Т.е. смещение для одного и того же члена может быть разным в зависимости от объекта, к которому затем этот указатель применяется:


Я немного про другое. Указатель на поле перевести в смещение. Что бы можно было оперировать идентификатором поля (числом), а не этим костылём под название указатель но член класса.

Типа такого:
template<class M,class T> int get_ofs(M T::* p) { return (int)(char*)&(((T*)0)->*p); }
Re[6]: Дурацкий вопрос
Здравствуйте, so5team, Вы писали:

S>Так ведь указатель на член -- это же не смещение. Т.е. смещение для одного и того же члена может быть разным в зависимости от объекта, к которому затем этот указатель применяется:


Я немного про другое. Указатель на поле перевести в смещение. Что бы можно было оперировать идентификатором поля (числом), а не этим костылём под название указатель на член класса.

Типа такого:
template<class M,class T> int get_ofs(M T::* p) { return (int)(char*)&(((T*)0)->*p); }