Si va a crear esta lista:
Entonces duplicados evitando puede ser una alternativa viable para la eliminación de duplicados.
QList<int> cont;
int incomingValue;
if(!cont.contains(incomingValue))
{
cont.append(incomingValue);
}
Además, dado que se trata de una pregunta sobre QList <> (y no sólo QList < int>) ...
Algunos pueden estar utilizando una clase personalizada, y como para evitar duplicados.
class SoftDrink
{
public:
int oz
QString flavor
bool operator==(const Beverage &other) const{
uint hash = qHash(flavor)^oz;
uint otherHash = qHash(other.flavor)^other.oz;
return hash == otherHash;
}
}
un operador == como la de arriba puede permitir QList para evaluar el método contains() en contra de un tipo de datos personalizada
QList<SoftDrink> uniquePurchaseHistory;
SoftDrink newPurchase;
if(!uniquePurchaseHistory.contains(newPurchase)){
uniquePurchaseHistory.append(newPurchase);
}
Como se trata de listas, quiero señalar que std :: list tiene una función de clasificación de miembros que tiene un mejor rendimiento que std :: sort en una lista. –
y sí, recién redescubierto, std :: list también tiene la función de miembro 'único', lo que significa que es preferible a través de std :: unique. –
Gracias Amit por señalar esto, pero no uso std :: list <> mucho (siguiendo el consejo de Herb Sutter de que std :: vector es en la mayoría de los casos el contenedor "correcto" para usar, incluso en el estándar C++ existe tal una recomendación, ver 23.1.1/2). –