Pointer, if pointed type is unknown?
H. S. Teoh via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Aug 2 13:33:26 PDT 2014
On Sat, Aug 02, 2014 at 08:21:35PM +0000, seany via Digitalmars-d-learn wrote:
> In my previous post
> (http://forum.dlang.org/thread/jcaomfduqeofobculgli@forum.dlang.org) I
> asked for an array of pointers to different types, as a stack for my
> own, where I can generate and insert runtime variables.
>
> However, seems like I need to know the type of variable the pointer is
> pointing to. That is,
>
> double pi = 3.14159;
> size_t ptr = cast(ulong)π // so far oky
>
> double pi_2 = *ptr; // this is where things break down
>
> won't work.
>
> What can I do if the type of the variable is not known?
You can't do anything unless you do runtime type introspection, say via
TypeInfo (i.e., typeid(x)). But for non-classes, typeid doesn't give
very much information either.
Sounds like what you really want is to use a Variant:
http://dlang.org/phobos/std_variant.html
T
--
You are only young once, but you can stay immature indefinitely. -- azephrahel
More information about the Digitalmars-d-learn
mailing list