• Advertisement
Sign in to follow this  

assert() ?

This topic is 2325 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

do assert() function calls only work during debug builds or also in release builds?

Share this post


Link to post
Share on other sites
Advertisement
Assuming you're referring to the C standard library assert() macro, assert() is activated when the preprocessor symbol NDEBUG isn't defined. Generally, release builds #define NDEBUG as a project property.

Share this post


Link to post
Share on other sites
The assert() macro in the C library <assert.h> (or std::assert in the C++ standard library <cassert>) is documented as being a null operation if the symbol NDEBUG is defined. If your definition of "debug build" and "release build" do not and do define that symbol respectively, then yes, your assumption will hold true, otherwise no.

Share this post


Link to post
Share on other sites

(or std::assert in the C++ standard library <cassert>)

assert() is a macro and doesn't live in the std namespace.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement