convert int[][] to int**
    Chris Williams 
    yoreanon-chrisw at yahoo.co.jp
       
    Fri Feb 21 11:16:46 PST 2014
    
    
  
On Friday, 21 February 2014 at 19:13:13 UTC, Chris Williams wrote:
> On Thursday, 20 February 2014 at 17:02:15 UTC, Dicebot wrote:
>> You can't do it without allocation because memory layout is 
>> different for int** and int[][] in D - are.ptr in latter 
>> points to slice struct (pointer+length) as opposed to raw 
>> pointer in former.
>
> You should only have to copy the top list, though.
>
> int*[] temp = new int*[ arr.length ];
> for (size_t i = 0; i < arr.length; i++) {
>     temp[i] = arr[i].ptr;
> }
> int** output = temp.ptr;
>
> Untested.
Addendum: Note that bearophile's code probably works out to the 
same thing.
    
    
More information about the Digitalmars-d-learn
mailing list