add example to NR.1

This commit is contained in:
Bjarne Stroustrup
2017-04-16 21:50:52 -04:00
parent 13ee61a3cb
commit 098dd3ee90

View File

@@ -17518,10 +17518,28 @@ This leads to longer programs and more errors caused by uninitialized and wrongl
##### Example, bad ##### Example, bad
??? int use(int x)
{
int i;
char c;
double d;
// ... some stuff ...
if (x<i) {
// ...
i= f(x,d);
}
if (i<x) {
// ...
i = g(x,c);
}
return i;
}
The larger the distance between the uninitialized variable and its use, the larger the chance of a bug. The larger the distance between the uninitialized variable and its use, the larger the chance of a bug.
Fortunately, compilers catch many "used before set" errors. Fortunately, compilers catch many "used before set" errors.
Unfortunately, compilers cannot catch all such errors and unfortunately, the bugs aren't always as simple to spot as in this small example.
##### Alternative ##### Alternative