Является ли это подходящим способом предоставления уникальных ключей на карте? Другими словами, создается ли ключ из уникального значения, содержащегося в uuid, или из указателя на структуру uuid_t
? Побочный вопрос, есть ли более эффективный контейнер, когда мне не нужен порядок по ключам внутри контейнера?
#include <uuid/uuid.h>
int main(int argc, char **argv)
{
std::map<uuid_t,int> myMap;
uuid_t id1;
uuid_t id2;
uuid_generate( (unsigned char *)&id1 );
uuid_generate( (unsigned char *)&id2 );
myMap[id1] = 5;
myMap[id2] = 4;
}
vector
или простоarray
. Есть много видов контейнеров. Есть ли причина, по которой вам нужен уникальный идентификатор? - person Kiril Kirov   schedule 20.11.2011void uuid_copy( uuid_t dst , uuid_t src);
должно привлечь ваше внимание здесь так же, как иvoid uuid_generate( uuid_t out );
. У них должен возникнуть вопрос: как эти функции заполняютdst
иout
, если нет ниptr
, ниreference
модификацииuuid_t
? - person ony   schedule 20.11.2011std::hash_map
- person ony   schedule 20.11.2011uuid_t
внутрьstruct
, и все изменится), но когдаuuid_t
передается напрямую (как возвращаемое значение или аргумент), он обрабатывается как указатель - person ony   schedule 22.11.2011std::hash_map
иstd::unordered_map
не должно быть разницы. Последний из С++ 11, другой до С++ 11. Единственная разница заключается в функциях С++ 11 (перемещение, размещение и т. д.). - person ony   schedule 09.03.2015