I'm a little unclear if I could have an object that has uninitialized values that are not accessible.
E.g.: Say like a stack based on an c-array. If I don't have any elements in the stack, then the elements stored could be uninitialized, but when I push an element onto the stack, I would use placement new to use the copy constructor and on pop, I would placement delete.
Actual access to the elements beyond the head of the stack would not be accessible, or accessing them would be UB (just like elements beyond the actual c-array).