我有两个std::stringstream
:ss1
和ss2
,它们作为两个不同函数的参数给出,这些函数用数据填充它们.
我想要理智地检查这些函数是否写入相同的内容.我如何测试两个相等std::stringstream
?
alg1.print(ss1); alg2.print(ss2); if(ss1 != ss2) { cout << "Content not identical!" << endl; }
不行.将它们转换为str()
工作,但这似乎无效.肯定有更好的办法?
我认为唯一的方法是使用.str()方法:
if (ss1.str() != ss2.str()) { cout << "Content not identical!" << endl; }
我不确定这是否特别快但是如果你在嵌入式环境中或者你每秒检查数百万次比较它应该没关系.