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
???
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.
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