Hallo Cromon,
zunächst möchte ich mich für Deine Ergänzungen in Bezug auf die wichtigste Zeile in Deinem Code und für die weiteren Hinweise bedanken. Habe wie angekündigt gestern alles vom Bildschirm abgeschrieben. Danach habe
ich die Zeilen auf mich wirken lassen das heißt:"Ich habe den Code wieder und immer wieder gelesen, ungefähr
so, als wenn man an einem köstlichem Getränk nippt und immer wieder nippt, weil man es geniessen möchte,
ohne daß das Glas zu schnell leer wird. Ich wollte nicht Wein oder so schreiben, sonnst denkst Du noch ich bin
Weinhändler und benutzt dieses schöne Internet-Portal zur Werbung.
Doch zurück zum Code-Inhalt.
Habe mir zu den vielen Worte in englischer Sprache meine Gedanken gemacht. Es ist so, ich beherrsche das Englische nicht so, daß ich mich damit verständigen könnte. Also Sprechen und Schreiben, da ist tote Hose, um
es mal im Volksmund auszudrücken. Beim Lesen bin ich nicht ganz so rückständig und wenn ich mal auf ein mir
unbekanntes Wort stoße, dann habe ich ein Elektronische-Wörter-Buch. Beim Lesen von Text ergeben sich auch oft die Bedeutung von Wörtern aus dem Satzzusammenhang. Naja, langes Schreiben, kurzer Sinn, ich versuche
die Bedeutung Deiner Worte im Code auf den Grund zu gehen.
Den ersten Aufhänger habe ich mit dem Wort "void", ich hoffe es ist nicht die Anrede für mich. Weil mir fällt auf die Schnelle für so ein Kürzel nur "
voll
idiot" ein. Das wollte ich natürlich ungern sein, selbst wenn ich es wäre,
dann würde ich es nicht zugeben. Also zur Sicherheit schnell mal mein EWB aufgeklappt, da steht zur Auswahl:
"leer", "nichtig" und "sinnlos", also ohne Sinne, also doch sowas wie nichts in der Birne, wie es oft auch genannt
wird. Ich bin immernoch ganz verstört und denke: "Alos doch sowas wie "without brain".
Aber hier geht es um C++, deshalb habe ich auch mal schnell in das Stichwortverzeichnis des C++-Lehrbuches
nachgeschaut und siehe da steht:"Das Schlüsselwort "void" kann man überall dort verwenden, wo der Compiler eine Typenangabe erwartet, man aber keinen Typ angeben kann oder möchte.
Da viel mir ein Stein vom Herzen, denn nun weiss. daß Du mich nicht beleidigen wolltest. ;-)
Mir "parse" war es dann schon wesentlich einfacher, denn da fand ich sofort "zerlegen", auch" zergliedern" oder
"annalysieren etc.. geht da. Weil dann gleich "Numbers" mit so eine Art Anweisungsformel dahinter steht, deshalb bezieht sich das Ganze wohl auf die einzugebende Zeichenkette, welche hier "string" genannt wird. Naja, innerhalb der gebogenen klammern stehen so Einiges auch Abgekürztes, wie: "const, std::string& input, std::vector<unsigned char>& values. Mit dem Ersten ist "constant" gemeint, das folgende "std" entspricht Deiner
Art zuschreiben, weil Du dabei auch an ältere Compiler denkst, welche das "namespace std" nicht kennen. So mit beugst Du vor und schreibst es jedesmal in der abgekürzten Form. Zu dem 4 Punkten, was sicherlich zwei Doppel-
punkte sind, da weiß ich nichts zu sagen, habe darüber irgendwas gelesen, aber mein Kopf ist ein Sieb und jetzt
schreibe ich und kann an nichts Anderes denken. Dazu muß ich mich erneut schlau machen, aber nicht jetzt, denn jetzt will ich Dir zeigen, daß ich mir Gedanken mache und auch nicht zu faul an der Tastatur bin, um mir ein Programm zu schreiben. Ich weiß ebend noch nicht genug über C++ um selbst zu programmieren.
Doch weiter in Deinen Klammern. String& input, std und vector kenne ich, wobei ich nicht so genau weiss was der vector hier macht, ich nehme an, daß er die Funktion eines Zeigers hat und über ihn aufdie vorzeichenlosen Character und ihre Werte hingewiesen wird. Ja in der nächsten Zeile da ist wieder "std", was ich schon zu erklären versucht habe. Ansonsten strömt(was auch fließt sein kann) da ein Zeichenkettestrom. Dann wird was eingegeben, denn "input" das ist mir ein Begriff. Der nun folgende vorzeichenlose Datentype, das ist auch klar für mich. Doch jetzt kommt wieder was unbekanntes, nähmlich "cur", damit kann ich nichts anfangen,
also mein EWB, da steht "Köter" oder"gemeiner Kerl". Nein das kann nicht sein, was ist ein "Hund wert"oder
wie "bewertet man eine Kerl". Da muß ich wohl selbst meinen Denkapparat einschalten und mir Gedanken machen. Siehe da, es ist vielleicht auch nur eine Abkürzung und es heißt "current" und verbunden mit Value,
dann kann es nur in unserer Sprache, der im Umlauf befindliche oder aktuelle Wert sein. Ja in der Mathematik
üblich gibt es "sind" oder "gleich", also =, doch hier ist es eine Zuweisunf, womit eine 0 zugewiesen wird.
Nun möchte ich auch noch auf das Semikolon eingehen, wovon ich schon zwei übersprungen habe.
Ja, mit dem ; werden grundsätzlich Anweisungen abgeschlossen, damit wäre auch dies geklärt.
Jetzt kommen wir zu der wichtigsten Zeile, darauf reimt sich Weile. Dazu fällt mir ein: "Warte, warte, eine Weile,
dann kommt Hamann auch zu Dir, mit dem Hackebeilchen macht er Hackefleisch aus Dir,........Naja, wer da noch wartet, der kann lange warten, denn der Hamann wurde hingerichtet.
Doch mit while wird auch irgendwie gewartet, bis es geströmt hat und die hex ihre aktuellen Werte haben.
Diese Werte bleiben nur eine Weile bestehen, denn mit values.push_back werden diese Werte in den Hintergrung gestoßen oder verschoben und gleichzeitig werden daraus andere, konstante, vorzeichenlose Zeichen mit aktuelleren Werten
gebildet. Das Meiste von diesem Vorgang findet innerhalb der gebogenen Klammern statt.