原文
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();
}