On sexta-feira, 3 de junho de 2016 13:10:42 BRT Edward Welbourne wrote: > Thiago Macieira > > > Another thing to be very, VERY careful is about nested function call > > > > chains, as in: > > if (foo(bar(), baz(quux()), variable, xyz()) == variable) > > > > Can you tell me if bar, baz, quux, or xyz modify variable? If so, what > > is the call order? > > If any of bar, baz, quux or xyz plausibly might modify variable, then > this code has undefined behaviour - because the call order is undefined.
Exactly! > (... except for quux() being called before baz; and baz, bar and xyz > being called before foo, of course; the point in all that at which > variable's value gets read is indeterminate, any which way.) > > Not that I see how this bears on whether that complex call to foo() > should be extracted as a separate method, -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development