Assisting in avoiding assert... always!
api, assert, c, c++
Solution
I'm not sure I really understand the problem, actually. Asserts are only expensive if they go off, which is fine anyway, since you're now in an exception situation.
`assert` is only enabled in debug builds, so use the release build of a third-party library. But really, asserts shouldn't be going off every moment.
Problem
In C and C++ `assert` is a very heavyweight routine, writing an error to `stdout` and terminating the program. In our application we have implemented a much more robust replacement for assert and given it its own macro. Every effort has been made to replace `assert` with our macro, however there are still many ways `assert` can be reintroduced (e.g., from internal third-party libraries, naïve injection, etc.) Any suggestions on how we can reduce, limit or even eradicate uses of `assert`? The best answer will be one the compiler can catch for us so we don't have to babysit the code base as much as we do currently.