使用C++ 11,它更好#include
<cassert>
还是<assert.h>
?或者没有区别?
编辑:
我似乎应该在C++程序中包含<xxxx.h>或<cxxxx>吗?认为它归结为污染全局命名空间.这是一个特例,因为assert
是一个宏,没有std::assert
?
我正在使用gtest,但我是gtest的新手。我想比较复杂数据结构的两个std :: vector中的值。我想做这样的事情:
ASSERT_EQ(a.size(), b.size());
for (int x = 0; x < a.size(); x++) {
EXPECT_EQ(
sqrt(pow(a.real[x], 2) + pow(a.imag[x], 2)),
sqrt(pow(b.real[x], 2) + pow(b.imag[x], 2)));
}
Run Code Online (Sandbox Code Playgroud)
这样做的好处在于,对于不匹配项,它报告比较的值,例如5!= 7,但不报告索引变量“ x”。有什么方法可以在检测到不匹配时轻松输出索引变量?