struct SharedPtr<T>
where
T: SharedPtrTarget,
{
repr: [MaybeUninit<*mut c_void>; 2],
ty: PhantomData<T>,
}
Почему repr: [MaybeUninit<*mut c_void>; 2], именно такой? Я понять не могу, откуда там ноги такие растут...
В шаред пойнтере (в "типичной" имплементации) хранится 2 указателя: на данные и на контрольный блок
Ааа, это он мимикриует под ABI С++ структуры...
А в C++ это вообще стандартизированно?
Обсуждают сегодня