Возникла такая ситуация: есть указатель на объект представленный в виде инта, т.е.:
std::vector<int>::iterator it;
unsigned int k = (int) ⁢
unsigned int l = ......;
std::vector<int>::iterator it1 = *((std::vector<int>::iterator*) l);
теперь собственно сам вопрос: как можно это обойти? конечно, можно двумя числами передавать, но это не приемлимо.
Есть идейка: узнать откуда начинается адресное пространство процесса чтобы вычитать адреса и получать вполне себе маленькое число, которое без проблем передастся и поместится в ограничение питона LONG_MAX.
ЗЫ: для чего это мне надо — не спрашивайте =)
UPD: строкой передавать не вариант — время конвертации строки в число большое.