Dynamic array creation with default

Steven Schveighoffer schveiguy at yahoo.com
Wed Aug 24 14:19:37 PDT 2011


On Wed, 24 Aug 2011 15:15:54 -0400, Michel Fortin  
<michel.fortin at michelf.com> wrote:

> On 2011-08-24 11:17:08 +0000, "Steven Schveighoffer"  
> <schveiguy at yahoo.com> said:
>
>> It's actually possible, but ugly:
>>  auto ptr = (new int[10][](1)).ptr;
>>  One really interesting thing to note -- the compiler actually turns  
>> struct  allocations into array-of-one allocations in the runtime.  So  
>> this is  likely what the compiler would do if it supported direct heap  
>> allocation  of fixed-sized arrays.
>
> A problem with this approach is that it won't work in safe mode because  
> accessing the .ptr property of an array is unsafe in general. But it is  
> perfectly safe to allocate a static array on the GC heap, so it should  
> be allowed…

And what would be the type returned by such a function? ;)

-Steve


More information about the Digitalmars-d mailing list