2

Other than the textbook definitions of the keyword 'assert' What is the actual use case ?

Its not a commonly used keyword so examples are rare to find explaining the actual implementation and its use in Code

ani
  • 39
  • 5

1 Answers1

4

You can use it in any way you may find suitable. Personally, I use it for writing simple unit tests when I don't want to rely on any dependency.

Some people use it for checking pre and post-conditions, like for example:

int foo(int a, int b) {
    int result;

    assert(a > 0 && a < 150);
    assert(b > 20 && b < 1000);

    // do something with a, b and store something in result

    assert(result > -10 && result < 10);

    return result;
}

But please beware that assertions can be disabled at compile time by defining the NDEBUG macro. So for example if you rely on it for pre-conditions, you may want to double them with tests built un-conditionally.

ncarrier
  • 433
  • 3
  • 14