> or something similar), or else a floating-point load/add/store sequence. > I can also expect that "woozle++" and "++woozle" will produce the same > code on a decent compiler. In C++, however, none of those assumptions > hold. Whereas I could put a reasonable upper bound on the time required > for "woozle++" in C, it may well be in C++ that woozle is a complex heap- > allocated structure and that incrementing it could require doing a gar- > bage collection on a 16MB heap. Right... but only if woozle refers to a class, for which the ++ operator has been overloaded - which is something the user would have done deliberately anyway. The only difference is that, for convenience, it's written woozle++, and not WoozleIncrement(), as it would be in C. The only time you won't know exactly what woozle++ is doing is if you're using someone else's classes, and you don't have the source - a problem that you would still run into with function calls in C. C++ is really just a convenient notation for providing objects in C. In terms of the code-generation side of things, the compilers are pretty much identical! Cheers, Ben