__Dirname непригоден для использования таким образом или он не определен?

Ваш вопрос состоит из двух частей.

1. 128-bin integer. Как предложено @PatrikBeck boost::multiprecision, это хороший способ для действительно больших целых чисел.

2.Variable для хранения UUID / GUID / CLSID или того, что вы его называете. В этом случае boost::multiprecision не является хорошей идеей. Вам нужна структура GUID , которая предназначена для этой цели. По мере добавления кросс-платформенного тега вы можете просто скопировать эту структуру в свой код и сделать это следующим образом:

struct GUID
{
    uint32_t Data1;
    uint16_t Data2;
    uint16_t Data3;
    uint8_t Data4[8];
};

Этот формат определен Microsoft по ряду внутренних причин, вы можете даже упростить его:

struct GUID
{
    uint8_t Data[16];
};

Вы получите лучшую производительность, имеющую простую структуру, а не объект, который может обрабатывать множество разных вещей. В любом случае вам не нужно делать математику с GUIDS, так что вам не нужен какой-либо причудливый объект.

0
задан Mackhem Chuah 6 March 2019 в 05:25
поделиться