在c++11代码中,每次使用枚举值时避免提及特定的枚举限定符会很好 - 因为它是一个新代码,并且它被重构了很多.
为此目的,这个伪代码的最后一行的精神可能是:
enum abc { a,b,c };
// some long code of events which returns the enum's value
auto e = []()->abc{return abc::b;}();
if (e == std::declval(e)::a) { ...
Run Code Online (Sandbox Code Playgroud)
如果不可能,C++11它会成为C++14或17?
你很近,你可以使用decltype:
if (e == decltype(e)::a) {
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |