测试某些内容是否是对其他内容的引用

Baz*_*Baz 3 c++ boost c++98

假设我有:

  std::vector<Foo> v1;
  std::vector<Foo> v2;
  std::vector<Foo>& rV = v1;
Run Code Online (Sandbox Code Playgroud)

我该怎么做这样的测试:

  TEST_EQ(v1, rV);
  TEST_NOT_EQ(v2, rV);
Run Code Online (Sandbox Code Playgroud)

我认为对于那些对您的代码进行单元测试的人来说,这是一个常见的问题.

Bo *_*son 7

您可以通过比较它们的地址来检测两个对象是否相同.

if (&v1 == &rV)
Run Code Online (Sandbox Code Playgroud)

只有当他们指的是同一个向量时才会成立.

(当然假设你没有超载运营商的地址:-)