Your question has two parts.
1. 128-bin integer As suggested by @PatrikBeck boost::multiprecision is a good way for really large integers.
2. A variable to store the UUID / GUID / CLSID or CLSID you call it. In this case, boost::multiprecision not a good idea. You need a GUID structure that is designed for this purpose. As the cross-platform tag is added, you can simply copy this structure into your code and make it as follows:
struct GUID { uint32_t Data1; uint16_t Data2; uint16_t Data3; uint8_t Data4[8]; };
This format is defined by Microsoft due to some internal reasons, you can even simplify it to:
struct GUID { uint8_t Data[16]; };
You will get better performance with a simple structure, not an object that can handle a bunch of different things. In any case, you donβt need to do math with GUIDS, so you donβt need any fancy objects.
ST3 Nov 20 '15 at 13:58 2015-11-20 13:58
source share