Has the standards committee made any determination as to whether a construct like the following horrible example is well defined. class example { public: int y; int x; example(int &i) : x(i++), y(i++) {} // well defined ??? }; I have seen published examples of less blatant code that assumes sequence points between initializer arguments.