diff --git a/concepts/pointers/about.md b/concepts/pointers/about.md index b15f9e52..c5348a21 100644 --- a/concepts/pointers/about.md +++ b/concepts/pointers/about.md @@ -63,6 +63,8 @@ openStarGate(dialedAddress); Pointer arithmetic in C++ can easily lead to __undefined behavior__ if not handled carefully. Undefined behavior can manifest in unexpected program outcomes, crashes, or even security vulnerabilities. One infamous example of the consequences of undefined behavior occurred in the [explosion of the Ariane 5 rocket][ariane-flight-v88] in 1996, where a software exception caused by the conversion of a 64-bit floating-point number to a 16-bit signed integer led to a catastrophic failure. + +[ariane-flight-v88]: https://en.wikipedia.org/wiki/Ariane_flight_V88 ~~~~ ## Accessing member variables @@ -131,5 +133,4 @@ It is your responsibility to detect these cases and ensure those pointers are su In older code, you might encounter two alternatives to `nullptr`. Firstly, the literal `0` is specifically interpreted as a null value for pointers, though it's the only scenario where an integral literal can be assigned to a pointer. Secondly, the `preprocessor macro` `NULL`, inherited from C and defined in the `` header, is another representation of a null pointer, though its usage is less common in modern C++ code. -[ariane-flight-v88]: https://en.wikipedia.org/wiki/Ariane_flight_V88 ~~~~ diff --git a/concepts/pointers/introduction.md b/concepts/pointers/introduction.md index bca4fdbf..6db1296f 100644 --- a/concepts/pointers/introduction.md +++ b/concepts/pointers/introduction.md @@ -63,6 +63,8 @@ openStarGate(dialedAddress); Pointer arithmetic in C++ can easily lead to __undefined behavior__ if not handled carefully. Undefined behavior can manifest in unexpected program outcomes, crashes, or even security vulnerabilities. One infamous example of the consequences of undefined behavior occurred in the [explosion of the Ariane 5 rocket][ariane-flight-v88] in 1996, where a software exception caused by the conversion of a 64-bit floating-point number to a 16-bit signed integer led to a catastrophic failure. + +[ariane-flight-v88]: https://en.wikipedia.org/wiki/Ariane_flight_V88 ~~~~ ## Accessing member variables diff --git a/exercises/concept/speedywagon/.docs/introduction.md b/exercises/concept/speedywagon/.docs/introduction.md index b11092d5..94297f94 100644 --- a/exercises/concept/speedywagon/.docs/introduction.md +++ b/exercises/concept/speedywagon/.docs/introduction.md @@ -63,6 +63,8 @@ openStarGate(dialedAddress); Pointer arithmetic in C++ can easily lead to __undefined behavior__ if not handled carefully. Undefined behavior can manifest in unexpected program outcomes, crashes, or even security vulnerabilities. One infamous example of the consequences of undefined behavior occurred in the [explosion of the Ariane 5 rocket][ariane-flight-v88] in 1996, where a software exception caused by the conversion of a 64-bit floating-point number to a 16-bit signed integer led to a catastrophic failure. + +[ariane-flight-v88]: https://en.wikipedia.org/wiki/Ariane_flight_V88 ~~~~ ## Accessing member variables