Mettle C++ Test Framework's use of undescore
本问题已经有最佳答案,请猛点这里访问。
看看Mettle测试框架,他们有这样的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <mettle.hpp> using namespace mettle; suite<> basic("a basic suite", [](auto &_) { _.test("a test", []() { expect(true, equal_to(true)); }); for(int i = 0; i < 4; i++) { _.test("test number" + std::to_string(i), [i]() { expect(i % 2, less(2)); }); } subsuite<>(_,"a subsuite", [](auto &_) { _.test("a sub-test", []() { expect(true, equal_to(true)); }); }); }); |
下划线的使用是否有什么特别之处,或者它是一个有效的变量名?
Is there something special going on with the use of underscore
下划线是用于标识符的有效字符。标识符中的下划线的一些用法被保留用于实现:在C++标识符中使用下划线的规则是什么?但这些都不适用于块范围内的单个下划线。
is it a valid variable name?
这里,是的。它不在全局命名空间中。