On 2/26/11 1:15 PM, Jonathan M Davis wrote:
[…]  And from a perfectly practical standpoint, as soon as your code ends
up in a library, assertions are generally useless anyway,[…]

I don't quite think asserts are useless in libraries. If you need to care about performance in a library, you hit cases quite frequently where sanity-checking the input would be too expensive to be done in release mode, and thus you can't specify behavior on invalid input as part of your API using exceptions. Nevertheless, it is still useful to people using your library to get notified when they are messing something up as early as possible in debug mode, which is precisely what asserts are made for, at least in my opinion.

You can find this use of asserts in many libraries out there, LLVM being the first example that comes to my mind.

David

Reply via email to