Sign in to follow this  
coder0xff

Data Member Reorganization

Recommended Posts

In C++ I have:
typedef Scalar double;

namespace Mathematics
{
	class Vector
	{
	public:
		Scalar x;
		Scalar y;
		Scalar z;
	private:
		Scalar oldMagnitudeSquared;
		Scalar magnitude;
		Scalar saved_sin;
		Scalar saved_cos;
		Scalar saved_sin_magsquared;
		Scalar saved_cos_magsquared;
...
member functions
...
}


Can I assume that the doubles x, y, and z will be sequential in memory, or might the compiler reorganize things?

Share this post


Link to post
Share on other sites
You can assume that x, y and z are sequentail in memory. However, there's no guarentee that z and oldMagnitudeSquared will be. The standard does not require compilers to place data members with different access modifers sequentailly
(though most do).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this