C++ c/c++;编程什么是由int和索引组成的uid?

C++ c/c++;编程什么是由int和索引组成的uid?,c++,variables,scripting,uid,C++,Variables,Scripting,Uid,谁能给我解释一下这行代码吗 #define reference_uid(id,idx) ( (int64) ((uint64)(id) & 0xFFFFFFFF) | ((uint64)(idx) << 32) ) mapreg是一个全局变量存储,应该可以从外部脚本访问它。这里的变量名为$@bg\u member $代表全球何处 @用@定义作用域,表示变量对于脚本的当前实例是唯一的 我想知道这是否只是将$@bg_成员定义为数组的一种方法。或者这是否允许在mapreg中使用其

谁能给我解释一下这行代码吗

#define reference_uid(id,idx) ( (int64) ((uint64)(id) & 0xFFFFFFFF) | ((uint64)(idx) << 32) )
mapreg是一个全局变量存储,应该可以从外部脚本访问它。这里的变量名为$@bg\u member
$代表全球何处 @用@定义作用域,表示变量对于脚本的当前实例是唯一的

我想知道这是否只是将$@bg_成员定义为数组的一种方法。或者这是否允许在mapreg中使用其唯一ID存储$@bg_成员的多个副本

但因为我不知道。我也不知道如何从脚本中正确地处理它们:(


编辑:我可能应该提到,脚本->添加_str($@bg_member)返回变量的ID,并保持相同。在每个旋转中,for循环中增加了计数。

没有C/C++语言。C++不是脚本语言。请阅读关于位掩码和位移位的问题。好的。我不知道如何处理它。我正在使用的代码包含C++和C类的混合代码。XTEN“C”<代码>不引入“C部分”,即编译为C代码!它只将ABI和接口如名称修改成C兼容。代码仍然是C++代码!
mapreg->setreg(reference_uid(script->add_str("$@bg_member"), count), sd->status.account_id);