cm0002@lemmy.world to Programmer Humor@programming.dev · 2 days agoTell me the truth ...piefed.jeena.netimagemessage-square129fedilinkarrow-up11.11Karrow-down116
arrow-up11.1Karrow-down1imageTell me the truth ...piefed.jeena.netcm0002@lemmy.world to Programmer Humor@programming.dev · 2 days agomessage-square129fedilink
minus-squaretimhh@programming.devlinkfedilinkarrow-up23·22 hours agoWell there are containers that store booleans in single bits (e.g. std::vector<bool> - which was famously a big mistake). But in the general case you don’t want that because it would be slower.
minus-squareethancedwards8@programming.devlinkfedilinkEnglisharrow-up6·13 hours agoWhy is this a big mistake? I’m not a c++ person
minus-squarebitcrafter@programming.devlinkfedilinkarrow-up4·13 hours agoThe mistake was that they created a type that behaves like an array in every case except for bool, for which they created a special magical version that behaves just subtly different enough that it can break things in confusing ways.
minus-squareethancedwards8@programming.devlinkfedilinkEnglisharrow-up3arrow-down1·12 hours agoCould you provide an example?
Well there are containers that store booleans in single bits (e.g.
std::vector<bool>
- which was famously a big mistake).But in the general case you don’t want that because it would be slower.
Why is this a big mistake? I’m not a c++ person
The mistake was that they created a type that behaves like an array in every case except for
bool
, for which they created a special magical version that behaves just subtly different enough that it can break things in confusing ways.Could you provide an example?