【发布时间】:2017-08-14 21:38:34
【问题描述】:
让expression 成为整数类型,在编译时已知,可能有符号,也可能无符号。按照这种方式倒数到零是否安全(假设表达式的实际值为非负数)?
for(auto i = expression; i!= static_cast<decltype(i)>(-1); --i) {
//something
}
【问题讨论】:
-
为什么在 for 循环中使用 auto?获得未定义行为的机会非常高。
-
那里不需要那个演员表,除非你只是想抑制编译器警告。
标签: c++