Hi, all. I'm watching a CPPCon 2016 video by Patrice Roy, in which he uses the code:

Code:
assert(denom && "divide by zero");
1. This is the same assert() function that is provided by the C language in the assert.h header, right?
2. Would a C++ programmer normally use assert()? I presume that for a compile-time assertion you would use static_assert().
3. What is the point of adding a string literal there? Does the assert() macro do something special with it? Or is it just a way of marking the relevant line of source code? Isn't it the same as :

Code:
assert(denom); /* divide by zero error if this asserts */
TIA,
Richard