원래는 소스 타입의 포인터를 타겟 타입의 포인터로 캐스팅한 후 역참조한다든가 아니면 유니온을 이용한다든가 하는 편법으로 캐스팅했었는데 C++20에는 std::bit_cast가 있었네
C++17까지만 써왔어가지고 이후 표준에 도입된 짜잘한 표준 기능들 모르는거 투성이네
거창한 것들은 유튜브나 커뮤니티에서 지나치면서 봤었는데..
원래는 소스 타입의 포인터를 타겟 타입의 포인터로 캐스팅한 후 역참조한다든가 아니면 유니온을 이용한다든가 하는 편법으로 캐스팅했었는데 C++20에는 std::bit_cast가 있었네
C++17까지만 써왔어가지고 이후 표준에 도입된 짜잘한 표준 기능들 모르는거 투성이네
거창한 것들은 유튜브나 커뮤니티에서 지나치면서 봤었는데..
union 활용한 type punning은 cpp에서는 원래 하면 안 되는건데 c에선 합법이다 보니까 다들 대충 쓰던거긴 함... strict alias ㅈ까고 포인터 매직 쓰는거는 C/C++ 할 거 없이 UB
flat set, flat map도 생김 latch, barrier같은 것도 생겼고