bool constexpr test_ne (unsigned inx) { return inx ? pa [inx - 1] != 0 && 0 != pa [inx - 1] && test_ne (inx - 1) : pa [inx] != 0 && 0 != pa [inx]; }
int main(int argc, const char *argv[]) { test_be(); test_le(); test_ne(); return 0; }
Assert (!(a == (int*)0)); Assert (!(a == nullptr)); Assert (a != 0); Assert (a != (int*)0); Assert (a != nullptr); Assert (!(0 == a)); Assert (!((int*)0 == a)); Assert (!(nullptr == a)); Assert (0 != a); Assert ((int*)0 != a); Assert (nullptr != a); bool constexpr test_eq (unsigned inx) { return inx ? pa [inx - 1] == 0 && 0 == pa [inx - 1] && test_eq (inx - 1) : pa [inx] == 0 && 0 == pa [inx]; } Assert (!test_eq (sizeof pa / sizeof *pa)); bool constexpr test_ne (unsigned inx) { return inx ? pa [inx - 1] != 0 && 0 != pa [inx - 1] && test_ne (inx - 1) : pa [inx] != 0 && 0 != pa [inx]; } Assert (test_ne (sizeof pa / sizeof *pa));