Partager via


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

Voir aussi

Référence

collate, classe