Переменные — программирование на c / c ++. Что такое uid, составленный из int и индекса?

Может кто-нибудь объяснить мне эту строку кода?

#define reference_uid(id,idx) ( (int64) ((uint64)(id) & 0xFFFFFFFF) | ((uint64)(idx) << 32) )

Я понимаю, что это должен быть уникальный идентификатор. но я не уверен, что на самом деле здесь происходит 🙁

пример его использования:

mapreg->setreg(reference_uid(script->add_str("$@bg_member"), count), sd->status.account_id);

mapreg — это хранилище глобальных переменных, которое должно быть доступно из внешних скриптов. здесь имя переменной будет $ @ bg_member
$ обозначает глобальный где
@ определяет область действия — @ означает, что переменная уникальна для текущего экземпляра скрипта.

Мне интересно, если это просто способ определить $ @ bg_member как массив. или позволяет ли это хранить несколько копий $ @ bg_member в mapreg с их уникальными идентификаторами.

Но потому что я этого не знаю. Я не знаю, как правильно адресовать их из скрипта 🙁

edit: вероятно, я должен упомянуть, что script-> add_str («$ @ bg_member») возвращает идентификатор переменной и остается неизменным. где число увеличивается в цикле for при каждом повороте.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]