Ok, ambas formas están bien. El método sort de la clase list está sobrecargado, bien puede utilizarse sin parámetros:
Que es como lo propuse, para ello los objetos contenidos deben tener definido el operador "<" (finalmente la comparación la podemos definir utilizando un campo, dos, otra cosa, etc.). Por eso mencionaba que puede verse como la forma simple ya que no hay necesidad de crear un predicado externo, que es la otra forma de utilizar sort en un list:
Donde comp es un predicado binario (función que recibe dos elementos como parámetros y retorna un booleano), bien se puede utilizar una función objeto (tambien conocido como Functor) como lo utiliza adrigm; o bien, un puntero a una función.