Size: a a a

2021 March 15

ПК

Побитый Кирпич... in pro.cxx
Андрей Руссков
а наоборот уже нет потому что из множества возможных double далеко не все принадлежат A
объекты "первое поле A типа double" и "объект типа A" являются pointer-interconvertible?
источник

АР

Андрей Руссков... in pro.cxx
Побитый Кирпич
объекты "первое поле A типа double" и "объект типа A" являются pointer-interconvertible?
в этом направлении да, в обратном нет )
источник

ПК

Побитый Кирпич... in pro.cxx
Андрей Руссков
в этом направлении да, в обратном нет )
То есть "объект типа A" и "первое поле A типа double" уже не являются?
источник

ПК

Побитый Кирпич... in pro.cxx
Но ведь "one is a standard-layout class object and the other is the first non-static data member of that object"
источник

АР

Андрей Руссков... in pro.cxx
Побитый Кирпич
То есть "объект типа A" и "первое поле A типа double" уже не являются?
так являются
источник

АР

Андрей Руссков... in pro.cxx
блин еще раз
источник

ПК

Побитый Кирпич... in pro.cxx
Всегда один из них является объектом A, а другой является полем первым
источник

АР

Андрей Руссков... in pro.cxx
давайте обозначим отношение pointer interconvertible ~, а A и B - произвольные типы для этого отношения
источник

SS

Sergey Skvortsov in pro.cxx
Андрей Руссков
давайте обозначим отношение pointer interconvertible ~, а A и B - произвольные типы для этого отношения
Отношение определено на множестве объектов, а не на множестве типов
источник

ПК

Побитый Кирпич... in pro.cxx
Так что условие работает для обеих пар (A*, поле A) и (поле A, A*)
источник

АР

Андрей Руссков... in pro.cxx
вот симметричность это про то что если A ~ B, то B ~ A
источник

ПК

Побитый Кирпич... in pro.cxx
Андрей Руссков
давайте обозначим отношение pointer interconvertible ~, а A и B - произвольные типы для этого отношения
не типы а объекты ало
источник

ПК

Побитый Кирпич... in pro.cxx
Two objects a and b are pointer-interconvertible if:
источник

АР

Андрей Руссков... in pro.cxx
Sergey Skvortsov
Отношение определено на множестве объектов, а не на множестве типов
если отношение выполняется не для любых объектов этих типов, то оно не может в общем случае выполняться для типов
источник

SS

Sergey Skvortsov in pro.cxx
Андрей Руссков
если отношение выполняется не для любых объектов этих типов, то оно не может в общем случае выполняться для типов
Оно вообще к типам не относится
источник

SS

Sergey Skvortsov in pro.cxx
Это ортогональная вещь
источник

АР

Андрей Руссков... in pro.cxx
ок, верно
источник

SS

Sergey Skvortsov in pro.cxx
В случае
struct A { double d; };
A a;

Объект a pointer interconvertible с объектом a.d, а объект a.d pointer interconvertible с объектом a
источник

ПК

Побитый Кирпич... in pro.cxx
Спор был можно ли кастовать первое поле A к A*
источник

АР

Андрей Руссков... in pro.cxx
спор был можно ли кастовать a.d к B*
источник