Sendikaları daha önce rahatça kullandım; Ben okuduğumda bugün alarma edildi bu yazı ve bu kodun bilmek geldi union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member from now on // …
Bu sadece kendi merakımı tatmin etmek için. Bunun bir uygulaması var mı: float InvSqrt (float x) { float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; } Rust bölgesinde bulundunuz mu? Varsa, kodu gönderin. Denedim ve …
Yaptığı son konuşma ise “Modern C Tipi cinaslı ++” Timur Doumler söyledi o std::bit_castbit atmak kullanılamaz floatbir içine unsigned char[4]C tarzı diziler bir işlev döndürülen edilemez çünkü. std::memcpyC ++ 23 (veya üstü) gibi bir şey reinterpret_cast<unsigned char*>(&f)[i]iyi tanımlanıncaya kadar kullanmalı veya beklemeliyiz . C ++ 20'de bir std::arrayile kullanabilir miyiz …