C++ nugget:
The C++ compiler assumes that if two pointers have different types, they must have different addresses.
This is not always true: in HFT you often pre-allocate memory then create/destroy objects with placement new.
To avoid subtle bugs: std::launder
naddr1qvzq...
The C++ compiler assumes that if two pointers have different types, they must have different addresses.
This is not always true: in HFT you often pre-allocate memory then create/destroy objects with placement new.
To avoid subtle bugs: std::launder
naddr1qvzq...