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

Сообщение Re[31]: offsetof() без UB от 28.03.2025 13:48

Изменено 28.03.2025 13:57 kov_serg

Re[31]: offsetof() без UB
Здравствуйте, rg45, Вы писали:

_>>Пока думаешь. Я говорю примерно про такое


R>Да идею-то я понял. Я не понимаю, каким образом тебе мешает то, что выражение &D::a имеет тип int A::*. Что для тебя изменилось бы, если бы тип был int D:*?


Еще вариант где мешает. Если бы был int D::* то
  int* (*p1)(D*)=ptr_to<&D::a>; // я бы мог писать так
  int* (*p2)(A*)=ptr_to<&D::a>; // а пиходится так
Re[31]: offsetof() без UB
Здравствуйте, rg45, Вы писали:

_>>Пока думаешь. Я говорю примерно про такое


R>Да идею-то я понял. Я не понимаю, каким образом тебе мешает то, что выражение &D::a имеет тип int A::*. Что для тебя изменилось бы, если бы тип был int D:*?


Еще вариант где мешает. Если бы был int D::* то
  int* (*p1)(D*)=ptr_to<&D::a>; // я бы мог писать так
  int* (*p2)(A*)=ptr_to<&D::a>; // а пиходится так

То есть что бы работало в общем виде придётся писать ptr_to<D,&D::a>