9:12 - Why can't the Standard just say "this is implementation-defined"? The example explains UB vs. defined, but doesn't explain the advantage of undefined vs. implementation-defined.
Because UB isn't just at the language level. An architecture could exist where shifting too far is undefined, even at the hardware level. By listing it as implementation-defined rather than undefined behavior, C/C++ implementations on that architecture would be forced to add to gracefully handle that case in software every time there's a shift.
Excellent informative talk describing details of the UB! Very useful! Many thanks!
sizeof(int) is equal to sizeof(long) no matter if it's a 32bit or 64bit architecture. They changed int from 16bit to 32bit, but never to 64bit.
Excellent speaker and content!
Fantastic talk, highly interesting!
Is it possible to have UB during compile time (assuming no compile errors) ?
Awesome lecture
9:12 - Why can't the Standard just say "this is implementation-defined"? The example explains UB vs. defined, but doesn't explain the advantage of undefined vs. implementation-defined.
Because UB isn't just at the language level. An architecture could exist where shifting too far is undefined, even at the hardware level. By listing it as implementation-defined rather than undefined behavior, C/C++ implementations on that architecture would be forced to add to gracefully handle that case in software every time there's a shift.
The memcpy example is the standard being stupid. We should fix that.
_moonPtr 1. I mean it should be fixed in C.
2. Allowing more things doesn't break backcompat anyway.
Shouldn't 32bit
Wouldn't be better to write the subtitles with somebody who is in the business? "Valgrint", j.f.c.