¿Cuál es la mejor manera de generar una identificación única a partir de dos (o más) entradas cortas en C++? Intento identificar vértices de forma única en un gráfico. Los vértices contienen de dos a cuatro entradas cortas como datos, e idealmente la ID sería una especie de hash de ellos. Prefiere la portabilidad y la exclusividad sobre la velocidad o la facilidad.Generando una identificación única en C++
Aquí hay muchas respuestas excelentes, esta noche las probaré todas para ver cuál es la mejor para mi problema. Algunas palabras más sobre lo que estoy haciendo.
El gráfico es una colección de muestras de un archivo de audio. Uso el gráfico como una Cadena de Markov para generar un nuevo archivo de audio del archivo anterior. Como cada vértice almacena algunas muestras y puntos a otra muestra, y las muestras son todas cortas, parecía natural generar una ID a partir de los datos. Combinarlos en una larga duración suena bien, pero tal vez algo tan simple como solo es todo lo que necesito. no estoy seguro de cuánto espacio es necesario para garantizar la singularidad; si cada vértice almacena 2 muestras de 16 bits, ¿hay 2^32 combinaciones posibles correctas? y entonces si cada vértice almacena 4 muestras, ¿hay 2^64 combinaciones posibles?
Las soluciones específicas de biblioteca y plataforma no son realmente relevantes para esta pregunta. No quiero que nadie más que pueda compilar mi programa tenga que descargar bibliotecas adicionales o cambiar el código para adaptarse a su sistema operativo.
Realmente creo que una unión proporcionaría una manera más limpia de hacer justamente eso, pero eso es una cuestión de gusto. –
fyi, tipo-juego de palabras como este con un sindicato es un comportamiento indefinido. – scpayson