Size: a a a

2020 October 19

OK

Oleksii Kolesnik in pro.cxx
есть указатель на структуру. есть указатель на член структуры. есть элегантный способ вытащить по указателю на член - адрес содержащей его структуры? а то вроде как смещение члена known in compile time, значить какой-то статик каст должен был бы мочь. может есть хитрая форма записи?
источник

АК

Александр Караев... in pro.cxx
Oleksii Kolesnik
есть указатель на структуру. есть указатель на член структуры. есть элегантный способ вытащить по указателю на член - адрес содержащей его структуры? а то вроде как смещение члена known in compile time, значить какой-то статик каст должен был бы мочь. может есть хитрая форма записи?
как мне известно, без UB в текущем C++ это невозможно
источник

OZ

Olzhas Zhumabek in pro.cxx
offsetof не поможет? типа в std::byte*, пододвинуть, и обратн
источник

OK

Oleksii Kolesnik in pro.cxx
Olzhas Zhumabek
offsetof не поможет? типа в std::byte*, пододвинуть, и обратн
смотрю. спс
источник

АК

Александр Караев... in pro.cxx
Oleksii Kolesnik
есть указатель на структуру. есть указатель на член структуры. есть элегантный способ вытащить по указателю на член - адрес содержащей его структуры? а то вроде как смещение члена known in compile time, значить какой-то статик каст должен был бы мочь. может есть хитрая форма записи?
я ведь правильно понял задачу?

struct A {
 ...
 int b;
};

int* b = ...;
A* a = MAGIC(b);
источник

D

DigitaLobster in pro.cxx
Посчитать на пальцах с учётом выравнивания? Или отключить его
источник

OK

Oleksii Kolesnik in pro.cxx
в конкретной задаче есть шаблон структуры. в ней лежит union. прилетает указатель на инстанс юниона. т.е да, картина такая, но тип не int а зависит от типа структуры
источник

D

DigitaLobster in pro.cxx
Один юнион?
источник

OK

Oleksii Kolesnik in pro.cxx
один
источник

D

DigitaLobster in pro.cxx
А они не равны тогда должны быть?
источник

OK

Oleksii Kolesnik in pro.cxx
сейчас думаю если структура в одном месте задефайнена через align а в другом без. будет ли offsetof адекватно отрабатывать
источник

OK

Oleksii Kolesnik in pro.cxx
DigitaLobster
А они не равны тогда должны быть?
структура в любой момент может поменяться кем-то. не хотелось бы хардкодить через рентерпрет
источник

OK

Oleksii Kolesnik in pro.cxx
сейчас совпадает. но может не совпадать
источник

D

DigitaLobster in pro.cxx
А если сделать опорную структуру и по ней смещение посмотреть?
источник

OK

Oleksii Kolesnik in pro.cxx
буду смотреть) спс за наводку на offsetof
источник

d

disba1ancer in pro.cxx
Статья, имхо, не очень, я в неё очень долго въезжал, в итоге нашёл статью в каком-то блоге на англ и только тогда стало яснее
источник

bt

baby tonight in pro.cxx
#chatlist
источник

𓀬

𓀬 in pro.cxx
Всем привет, а нет ли подобного чата по Си?
источник

Е

Егор in pro.cxx
𓀬
Всем привет, а нет ли подобного чата по Си?
источник

𓀬

𓀬 in pro.cxx
Спасибо
источник