If we have a class which holds an array, let's call it vector and hold the values in a simple array called data:

```
class vector
{
public:
   double data[3];
   <...etc..>
};

```

Note: called as vector is for clearer explanation, it is not std::vector!!!

So my question is that, if I store only typedefs near this array inside the class and some constrexpr, am I correct if the class will be only 3 doubles after each other inside the memory?
And then if i create an array of vectors like:

```
vector vl[3];

```

Note: size of the array is not always known at compile time, not use 3 for the example.

then in the memory it'll be just 9 doubles after each other, right?
so vl[0].data[3] will always return the 2nd vectors 1st element? And in this case is it guaranteed that the result will be always like a simple array in the memory?

I found only cases with array of arrays, but not with array of classes holding an array, and I'm not sure if it is exactly the same at the end. I made some tests and it seems like it is working as I expected, but I don't know if it is always true..
Thank you!