我有一个返回布尔值的函数列表。我想遍历函数列表并为每个“测试 1 通过”、“测试 2 失败”等写一条消息。
我目前的解决方案是创建一个函数指针向量,推回每个函数,然后循环遍历该向量。代码如下。有没有办法在不为每个测试重复通用消息(通过/失败)代码的情况下避免容器(想象会有数百个测试)。感觉好像向量是不必要的,或者必须有一个更优雅的解决方案。
typedef bool (*Tests)();
std::vector<Tests> tests;
tests.push_back(FASTA_FILE_READER_TEST);
tests.push_back(EXACT_MATCH_TEST);
for (int i = 0; i < tests.size(); i++) {
std::cout << "Test " << i + 1
<< (tests[i]() ? " PASSED" : " FAILED")
<< std::endl;
}