collate::hash
Détermine la valeur de hachage d'une séquence en fonction de ses règles de facette.
long hash(
const CharType* _First,
const CharType* _Last
) const;
Paramètres
_First
Pointeur vers le premier caractère dans l'ordre dont la valeur doit être déterminé._Last
Pointeur vers le dernier caractère dans l'ordre dont la valeur doit être déterminé.
Valeur de retour
Une valeur de hachage de type long de la séquence.
Notes
La fonction membre retourne do_hash(_First, _Last).
Une valeur de hachage peut s'avérer utile, par exemple, en distribuant des séquences pseudo - aléatoirement dans un tableau de listes.
Exemple
// collate_hash.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <tchar.h>
using namespace std;
int main( )
{
locale loc ( "German_germany" );
_TCHAR * s1 = _T("\x00dfzz abc."); // \x00df is the German sharp-s (looks like beta), it comes before z in the alphabet
_TCHAR * s2 = _T("zzz abc."); // \x00df is the German sharp-s (looks like beta), it comes before z in the alphabet
long r1 = use_facet< collate<_TCHAR> > ( loc ).
hash (s1, &s1[_tcslen( s1 )-1 ]);
long r2 = use_facet< collate<_TCHAR> > ( loc ).
hash (s2, &s2[_tcslen( s2 )-1 ] );
cout << r1 << " " << r2 << endl;
}
Configuration requise
En-tête : <locale>
Espace de noms : std