我想编写一个测试来检测枚举的基础类型,并且该测试用例应该与编译器无关。
我不能使用std::underlying_type,__underlying_type以及其他编译器具体实施
这是实现定义的。例如,对于 clang,它是通过__underlying_type(type)编译器功能实现的。同样对于 GCC。
不使用std::underlying_type标准库的主要原因是在没有标准库可用的环境中。(嵌入式、内核等)通常在这种情况下,您将针对一组封闭的编译器,因此您可以std::underlying_type使用每个编译器的必要的特定于实现的功能,为您单独针对的每个编译器重新实现。
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |