QString hashcode
-
- Beiträge: 10
- Registriert: 30. August 2012 14:03
QString hashcode
Gibt es ein Äquivalent zu javas hashCode() für QString?
-
- Beiträge: 10
- Registriert: 30. August 2012 14:03
Re: QString hashcode
Den code mit MD5 habe ich auch schon gesehen, ich hatte gehofft dass es da etwas einfacheres gibt
Allerdings steht das in der API als "Related Non-Members".
An sich würde ich gerne
http://qt-project.org/doc/qt-4.8/qhash.html#qHash-21
aufrufen, weiß aber nicht wie das geht.
QHash benutzt eine ähnliche Funktion, und man kann QString ja als key nutzen ohne dass man qHash implementieren muss.which digests the data stored in an instance of the class into a single hash value (a 32-bit signed integer).
Allerdings steht das in der API als "Related Non-Members".
An sich würde ich gerne
http://qt-project.org/doc/qt-4.8/qhash.html#qHash-21
aufrufen, weiß aber nicht wie das geht.
Re: QString hashcode
Dann mach das doch einfach:simon.hain hat geschrieben: An sich würde ich gerne
http://qt-project.org/doc/qt-4.8/qhash.html#qHash-21
aufrufen, weiß aber nicht wie das geht.
Code: Alles auswählen
#include <QHash>
...
QString qStringToHash = "foo";
uint hashValue = qHash(qStringToHash);
...
-
- Beiträge: 10
- Registriert: 30. August 2012 14:03
Re: QString hashcode
Tatsache, super, danke!
Freie Funktionen kannte ich noch nicht, ist hier so learning by doing 8)
Freie Funktionen kannte ich noch nicht, ist hier so learning by doing 8)
Re: QString hashcode
Kein Ding.
...und damit Du noch ein bißchen lernst (falls Interesse besteht, sonst einfach nicht weiterlesen): C++ ist eine so genannte "multi-paradigmen" Sprache. Sie wird zwar in erster Linie objektorientiert eingesetzt, ist aber im Gegensatz zu z.B. Java oder Smalltalk nicht auf Objektorientierung limitiert. Sie erlaubt auch imperative/prozedurale Programmierung (dazu gehören dann eben freie Funktionen), (teilweise) funktionale Programmierung (über Funktionspointer und Lambdas) und generische Programmierung (Templates).
Um C++ besonders effektiv einsetzen zu können empfiehlt es sich, sich zumindest ein wenig mit den anderen Programmier-Paradigmen auseinanderzusetzen und wie sie in C++ benutzt werden können, um für die jeweilige Aufgabe das beste Werkzeug zu benutzen.
Übrigens spricht man in der Regel bei "nicht freien" Funktionen (also solche, die innerhalb einer Klasse definiert sind, ob statisch oder nicht) von "Methoden".
...und damit Du noch ein bißchen lernst (falls Interesse besteht, sonst einfach nicht weiterlesen): C++ ist eine so genannte "multi-paradigmen" Sprache. Sie wird zwar in erster Linie objektorientiert eingesetzt, ist aber im Gegensatz zu z.B. Java oder Smalltalk nicht auf Objektorientierung limitiert. Sie erlaubt auch imperative/prozedurale Programmierung (dazu gehören dann eben freie Funktionen), (teilweise) funktionale Programmierung (über Funktionspointer und Lambdas) und generische Programmierung (Templates).
Um C++ besonders effektiv einsetzen zu können empfiehlt es sich, sich zumindest ein wenig mit den anderen Programmier-Paradigmen auseinanderzusetzen und wie sie in C++ benutzt werden können, um für die jeweilige Aufgabe das beste Werkzeug zu benutzen.
Übrigens spricht man in der Regel bei "nicht freien" Funktionen (also solche, die innerhalb einer Klasse definiert sind, ob statisch oder nicht) von "Methoden".
-
- Beiträge: 10
- Registriert: 30. August 2012 14:03
Re: QString hashcode
Ich versuche das mit dem lernen und "produktiv sein" in etwa zu verbinden, mache mich also meistens auf die Suche wenn irgendwas nicht klappt.
Im Moment klappt das ganz gut, Qt ist mir als Java-Entwickler anscheinend ein bischen näher
Im Moment klappt das ganz gut, Qt ist mir als Java-Entwickler anscheinend ein bischen näher