"Ola Fosheim Grøstad" " wrote in message
news:[email protected]...
No, writing wrong code is one thing.
Having a single typo in a constraint-test cause memory unsafety undetected
is a disaster. And many such typos _will_ go undetected.
Sure, because having single typos in other parts of your code causing memory
unsafety are totally not a disaster. And those never go undetected.
Let's say you want to test "divisor >= 0", but end up with "divisor != 0"
=> division_by_zero failure even if the code is correct.
Let's say you want to add two numbers, but instead of writing 'a + b' you
write 'a - b'!!!! The program fails even though you totally meant to write
the correct code.
Adding assert() should increase quality, not decrease it. Adding asserts
will increase the probability of wrong constraints entering the codebase.
That means with the regime indicated here you should write as few assert()
statements as possible.
I disagree. If you do not want your assertion removed then don't compile
with -release.
Where in the spec does it say that assert is a tool for specifying
optimization constraints?
Where in the spec does it say assert is a tool for inserting breakpoints?
Asserts are a tool for conveying to the compiler certain conditions that you
expect to be true.