原文
import std;
void main()
{string variable;void * pointeraddress = &variable;string[void *] associative;associative[pointeraddress] = "someinformation";writeln("Hello D ", pointeraddress);writeln("Hello D ", associative[pointeraddress]);
}
奖励:在指针地址的关联数组中存储十六进制文本.
import std;
void main()
{string[void *] associative;//按关联数组中的指针地址`存储十六进制`associative[cast(void *)0x7FFCD332CD60] = "someinformation";//按变量中的指针地址存储`十六进制文本`.//`void*customPointer=cast(void*)0x7FFCD332CD60;`writeln("Hello D ", associative[cast(void *)0x7FFCD332CD60]);writeln("Hello D ", associative);
}
使用存储
的指针地址访问
变量出域的演示.
import std;
void outofcontext()
{writeln("Hello D ", associative);foreach (pointeraddress, information; associative){writeln(*cast(string*)pointeraddress);}
}
static string[void* ] associative;
void main()
{writeln("Hello D ", associative);string variable = "hi";void* pointeraddress = &variable;associative[pointeraddress] = "someinformation";outofcontext();
}