C++ (Qt)struct CHeader { int mID; ... void * mAddr;}
union { __int64 mAddr64; void* m_Addr;}
C++ (Qt)struct CHeader { int mID; ... uint32_t mAddrId;}
C++ (Qt)typedef uint32_t index_t; index_t cur_index = 0;std::map<index_t, void*> indexcache; void *index2ptr( index_t idx ){ return indexcache[ idx ];} index_t imalloc( size_t sz ){ void *ptr = malloc( sz ); assert( ptr ); indexcache[ cur_index ] = ptr; return cur_index++;} void ifree( index_t idx ){ free( index2ptr( idx ) );}
C++ (Qt)// Вместо:void *data = ptr->mAddr; // использовать:void *data = index2ptr( ptr->mAddrId );