一个类应该提交给哪些单元测试以保证它具有 C++ 安全布尔习语所需的所有属性?
尝试命名所有这些(从Safe Bool Idiomtest中提取),对于一个据称实现了 safe-bool 成语的类的实例Test,它应该启用以下构造:
if (test) { /* test is valid */ }if (!test) { /* test is not valid */ }
...并禁止以下构造:
test << 1;int i = test;delete test;if (test1 == test2) {}if (test != test2) {}