* Andrew Haley <aph@xxxxxxxxxx> [2008-12-02 13:32:46 +0000]: > It's undefined behaviour: if you make a pointer by taking the address of an > object you can dereference that pointer. If it's a pointer to an array > you can also increment it up to one past the end of that array. You > can only dereference that pointer if it points to the object you > took the address of. acknowledged. > In this case it'll probably work as long as there is no padding between > x, y, and z. > But it's not well-defined code. and that is exactly why i want to fix it. as i pointerd out to John: like this i have to go to forums and ask whether this is safe on gcc and then go to msvc and ask what about their compiler. for example i asked whether the "union_cast" works on the msvc and still the responses were quite foggy, so i don't know really even now. i find this programming style quite uncomfortable... > OK, I see. I guess you'll have to proceed slowly, but IMO there is no > point replacing one case of undefined behaviour with another. If you're > going to fix it, you might as well fix it right. okay, i am moving to "do you know a good basic linear algebra" mailing list :) many thanks for your time, Andrew! mojmir