c++ - How to convert integers to pointers and vice versa -
suppose there std::multiset<some_data_type> s
, how can save address of thisstd::multiset
in integer , use integer assign other pointers location? mean possible this:
std::multiset<int> myset; //insert data in myset int = address_of(myset); std::multiset<int>* otherset = location(a);
this c++11's intptr_t
type gives <cstdint>
, if system supports (which standard not mandate).
if it's available, it's guaranteed large enough hold pointer value (unlike int
), , defined such converting , intptr_t
, the same pointer type safe. you'll need reinterpret_cast
each conversion.
you don't want this if can avoid it. use original pointer type possible. types good!
Comments
Post a Comment