No. You misunderstand me. All the private attributes of your class do NOT go into the struct. The purpose of the struct is to provide a dummy container for T. "T" can be anything. Therefore you want to be able to manipulate all elements of T with "your" container, but only as those operations are relevant to the purpose of your container. I.e. - if T is another class object, than your Vector
Pretty to declare all private attributes in a struct, then defining a pointer to that struct in the iterator class. This was what I kind of meant by a pointer to the aggregate when the iterator was not nested.
In your first sentence you say, as it seems to me, that you do indeed want a STL-like vector (hence the array of values w/related operators/functions). Then you utterly confuse me with "an element of a vector space." If you need to point-to or have a vector in your class, I suggest re-writing all this and simply inheriting the std::vector, and adding your own code as needed.
I want to create a new Vector class, which is an array of values and related operators/functions. I do not want to use STL's vector, since it is not the same thing as I want (vector is really a container, I want it to be an element of a vector space).