>>The size of the Database object of course. Otherwise I'd just use an array.
:icon_frown:I think you need to watch your tongue until you actually know what you are talking about.
What you are talking about in your example is the number/count of Database objects, NOT the size of a single Database object. Per that example, the size of a Database object will remain 16 bytes*. What changes is the number of 16-byte database objects that are in existence at any given point in time. For your situation, a vector is a good approach.
Q. How would you declare a vector of int?
A. By telling the vector that it's full of int objects:
Based on that answer, where do you think you should put "struct Database"?
*Depending on byte alignment, it could also be 24-bytes
>>What? That isn't what I mean at all.
Unless you haven't provided an accurate example of your intentions, it's exactly what you mean. Is this, or is this not exactly what you said:
I could do Database info for 20 accounts, but the user may want to look at 25 accounts, or 100 accounts.
>>I could do Database info for 20 accounts
You are correct that this creates an array that contains 20 elements. However, you are incorrect about what you are actually creating. Those 20 elements are all individual Database instances/objects. As such, those array elements are NOT inside Database; Database is inside the array elements.
Do you even understand what a struct/class is and what objects are and the relationship between them? I don't think you do. A struct/class is like a blueprint for a building. An object is like an actual building based on that blueprint.
Read this, then come back and see if you understand what I told you earlier.