假设我有:
std::vector<Foo> v1;
std::vector<Foo> v2;
std::vector<Foo>& rV = v1;
我该如何进行这样的测试:
TEST_EQ(v1, rV);
TEST_NOT_EQ(v2, rV);
我认为对于那些对您的代码进行单元测试的人来说,这是一个常见问题。
答案 0 :(得分:7)
您可以通过比较它们的地址来检测两个对象是否相同。
if (&v1 == &rV)
只有在引用相同的向量时才会成立。
(当然假设您没有重载地址操作符: - )