codice:
int x[10]={9,5,1,2,7,4,3,8,6,0};
int* start = &x[0];//primo elemento
int* end = &x[10];//elemento successivo all'ultimo.
std::sort(start,end);
sort funziona per gli array C, a patto che l'operatore '<' del tipo contenuto nell'array funzioni a dovere.
Se ad esempio l'array fosse di stringhe C-style non funzionerebbe (cosa restituisce '<' applicato a due char* ?), se invece l'array fosse di oggetti std::string funzionerebbe tutto nuovamente.
a differenza di qsort, con sort il compilatore sceglie in automatico la compare_function in funzione del tipo dei puntatori, rendendo il codice piu leggibile.
PS: non ricordo se sort lavora con l'operatore '<' '<=' o '>' ... c'è scritto da qualche parte .