所以,我需要使这个函数的结果是唯一的。
我的任务很简单:我只想显示文本处理应用程序的编码选择对话框。我的第一个天真的解决方案如下所示:
QList<QByteArray> encodings = QTextCodec::availableCodecs ();
QSet<QTextCodec*> unique_codecs;
unique_codecs.insert (QTextCodec::codecForName ("autodetect"));
unique_codecs.insert (QTextCodec::codecForName ("system"));
foreach (QByteArray e, encodings)
{
if (QTextCodec* c = QTextCodec::codecForName (e))
{
if (!unique_codecs.contains (c))
{
m_encodings.append (e); // QStringList to store encodings
unique_codecs.insert (c);
}
}
}
你还有其他建议吗?