uintptr — это просто число, GC не знает что оно указывает на объект. Если сохранить uintptr в переменную, GC может собрать объект и переместить память. Адрес станет невалидным. Поэтому конвертация unsafe.Pointer→uintptr→unsafe.Pointer должна быть в одном выражении. Компилятор гарантирует что объект жив только в одном выражении.
Почему uintptr нельзя хранить в переменной?
Senior
140 просмотровAFK Offer AI
Как ты проводишь code review?