Mat*_*zak 1 c++ language-lawyer
如果在赋值的rhs上抛出异常,则在下面的表达式中:bad_alloc将linesArg已经减少了吗?:
try{ buffer[--linesArg] = new char[rows]; }catch(std::bad_alloc& ba){ }
gex*_*ide 5
分配不是序列点.因此,子表达式的评估顺序是未指定的.编译器可以选择任何订单.每次编译时它甚至可能选择不同的顺序.
您应该将--linesArg表达式提取到其自己的语句中以获得明确定义的行为.
--linesArg
归档时间:
9 年,10 月 前
查看次数:
65 次
最近记录: