Re: Casting an array form an associative array

2012-11-10 Thread Jacob Carlborg
On 2012-11-10 17:48, Timon Gehr wrote: The length of an array is the number of elements. sizeof(void)==1 and sizeof(int)==4. The first example reinterprets the ptr and length pair of the void[] as a ptr and length pair of an int[]. The second example adjusts the length so that the resulting arra

Re: Casting an array form an associative array

2012-11-10 Thread Timon Gehr
On 11/10/2012 01:20 PM, Jacob Carlborg wrote: The following example: void main() { void[][size_t] aa; aa[1] = [1, 2, 3]; if (auto a = 1 in aa) { writeln(*(cast(int[]*) a)); writeln(cast(int[]) *a); } } Will print: [1, 2, 3, 201359280, 0, 0, 0, 0, 0,

Casting an array form an associative array

2012-11-10 Thread Jacob Carlborg
The following example: void main() { void[][size_t] aa; aa[1] = [1, 2, 3]; if (auto a = 1 in aa) { writeln(*(cast(int[]*) a)); writeln(cast(int[]) *a); } } Will print: [1, 2, 3, 201359280, 0, 0, 0, 0, 0, 0, 0, 0] [1, 2, 3] The first value seems to contain s