| ▲ | jayd16 2 days ago |
| I think there's something to be said about them running automatically that is lost when you say they're just asserts. |
|
| ▲ | almostgotcaught 2 days ago | parent [-] |
| i don't get it - if do int foo(int a) {
assert(a > 5);
int b = a * 10;
assert(b > 50);
return b;
}
do you think those asserts don't "run automatically"? |
| |
| ▲ | gblargg 2 days ago | parent [-] | | You define the invariants once for the class and they are run around every public function. Done manually you'd probably use a helper object that calls the invariants in its constructor and destructor (have to handle exceptions) that you have to add to every public function's definition. |
|