Can i safely cast void* from void[]?

Denis Koroskin 2korden at gmail.com
Sun Feb 8 13:46:45 PST 2009


On Mon, 09 Feb 2009 00:25:41 +0300, Heinz <malagana15 at yahoo.es> wrote:

> Hi,
>
> I remember i read around the D site that dinamic arrays can be stored in  
> system memory in a 'non contiguous' way (different locations). I was  
> trying to find again that page but haven't had any lucky. I'm not crazy,  
> i know i saw it.
>

Never heard that.

> Anyway, i need this info to ensure that i can/can't cast from void[] to  
> void*. I'm working with D dinamic arrays but i need to work this data  
> then with windows API's, these functions take void* as parameters. I  
> pass params of type cast(void*)void[] and have had no problems at the  
> moment. But, what if data in the array is not stored contiguously?  
> windows functions will crash right?
>
> I hope you get the idea, and i hope someone to answer me. Thanx.

No need to cast:

void[] array = ...;
void* ptr = array.ptr;



More information about the Digitalmars-d-learn mailing list