Skip Navigation

I don't think that casting a range of bits as some other arbitrary type "is a bug nobody sees coming".

C++ compilers also warn you that this is likely an issue and will fail to compile if configured to do so. But it will let you do it if you really want to.

That's why I love C++

110 comments
  • C++: all the footguns you need plus a lot more that you never imagined in a single language

  • I'm all for having the ability to do these shenanigans in principle, but prefer if they are guarded in an unsafe block.

  • Why use a strongly typed language at all, then?

    Sounds unnecessarily restrictive, right? Just cast whatever as whatever and let future devs sort it out.

    $myConstant = ‘15’;
    $myOtherConstant = getDateTime();
    $buggyShit = $myConstant + $myOtherConstant;

    Fuck everyone who comes after me for the next 20 years.

110 comments