Yeah, I was ignoring it. I thought I was being helpful by not diving into gory details that I don't think get to the point of the question.You know that `std::vector<???>::erase(???)` calls a destructor, yet you claim that to resize is to reallocate and the distinction isn't useful?
An array is indeed some number of elements whether stored on the heap or not, but you seem to be either missing or ignoring the fact that memory allocated for elements isn't the same thing as the elements existing.
I needed a lecture on placement new just to prove how apparently wrong I am.
8 objects exist.std::fstream * s(new std::fstream[8]);
7 objects exist.(s + 7)->~fstream();How many elements of `std::fstream` exist?
8 objects exist.new(s + 7) fstream();
Right, now please tell me if sean contab will care or understand.You, at one point, have an array of only seven elements despite allocating memory for eight elements.
Guess what we weren't talking about until Galik showed up.The distinction is useful for the STL containers in particular because of how each implies validity of iterators after the relevant operation.
But whatever... the gory details are out, please continue. I'm dumb, just like everybody apparently wanted. Thank you ........ you bye.