top | item 46426076

(no title)

feelamee | 2 months ago

wow, can you elaborate how adding a string field can break some assumptions?

discuss

order

nneonneo|2 months ago

Not the OP, but note that adding a std::string to a POD type makes it non-POD. If you were doing something like using malloc() to make the struct (not recommended in C++!), then suddenly your std::string is uninitialized, and touching that object will be instant UB. Uninitialized primitives are benign unless read, but uninitialized objects are extremely dangerous.

IshKebab|2 months ago

That's not what was happening in this example though. It would be UB even if it was a POD.