On Wednesday, 9 April 2014 at 16:46:00 UTC, monarch_dodra wrote:
I *think* there was some miscommunication here:
auto arr = new int[](99);

Is perfectly valid, and the recommended way to do it (provided you know how much you want to allocate when constructing).

Looks like it. :)

The flow of conversation reads to me like so:

1. "There's no need to new or create a dynamic array"
2. "But newing allows for setting the length immediately though. <example>. Does doing it in two steps (declaring, then setting length) allocate twice?" 3. "No, [doing it in two steps] is perfectly valid (and recommended), [with valid meaning you're not double-allocating for no reason]" 4. "I see, but if [doing it in two steps] is recommended and there's no need to new, you'll have to agree that newing is still alluring etc etc"


My main pet peeve remains array literals being dynamic.

What do you mean? Perhaps you meant you wanted to allocate a static array on the heap? EG, "int[99]* p = new ???;"

Otherwise, I don't really understand the statement.

Different topic, but I mean !is(typeof([1, 2, 3]) == int[3]). Nothing that can't be danced around, yet a peeve nonetheless.

Reply via email to