On Sat, 07 Jan 2012 13:29:25 -0500, bearophile <bearophileh...@lycos.com>
wrote:
Steven Schveighoffer:
Interesting trivia, the compiler actually transforms the following:
struct S
{
int x;
}
auto s = new S;
into this:
auto s = (new S[1]).ptr;
Found that out when revamping the array allocation code. It's one thing
that still bugs me because this means s will be initialized as an
appendable array when it doesn't have to be.
What are the disadvantages caused by this?
Wasted space. An appendable array requires extra space at the end of the
block to store the 'used' length.
If the disadvantages are significant is this improvement in Bugzilla as
enhancement request?
It's not in bugzilla, but it's strictly a performance thing, I don't think
the current method causes any harm, it's just not as optimal as it could
be.
-Steve