Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

C++: Was für eine "Struktur" ist hier geeignet?

Yves3 / 2 Antworten / Baumansicht Nickles

Hallo

Ich möchte einer eigenen Fuktion mitgeben, was für Eventlogs(Application, System, DirectoryServices etc...) sie öffnen soll.
In dieser eigenen Funktion rufe ich eine Windows Funktion auf, die den Namen des Logs in Textform übernimmt (z.B. "Application").
Zudem habe ich ein Array mit den Handels auf die ensprechenden Logs, ich sollte einen übergebenen Wert also möglichst einfach zwischen dem Text(z.B. "Application") und der Position des Handles im Array (z.B. 0 für Application Log, 1 für System Log etc...) umwandeln können.
Dafür gibt es unzählige Möglichkeiten, ich suche aber die dafür passendste. ;)
Im bin mir sicher, dass bei C++ für solche Situationen irgend etwas vorgesehen ist, mir fällt die Lösung aber einfach nicht ein und es lässt sich auch nicht gut nach etwas suchen, wofür man einen ganzen Textabschnitt braucht, um es zu beschreiben. ;)

Wichtig wäre mir dabei folgendes:
- "Pseudo Überprüfung des Parameters auf Korrektheit". So wie bei enum, dass nicht irgendwelche Werte übergeben werden können, die keinen Sinn machen.
- Komfortable Umwandlung zwischen der Zahl und dem Text (wie oben beschrieben)

Wäre sehr dankbar für den ultimativen Tipp ;)

bei Antwort benachrichtigen
d-oli Yves3 „C++: Was für eine "Struktur" ist hier geeignet?“
Optionen

Maps?
C++ Maps are sorted associative containers that contain unique key/value pairs. For example, you could create a map that associates a string with an integer, and then use that map to associate the number of days in each month with the name of each month.

Weiteres dazu hier: http://www.cppreference.com/cppmap/index.html
C++ Standard Template Library: http://www.cppreference.com/

Das Array wäre dann überflüssig.

d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
Yves3 d-oli „Maps? C Maps are sorted associative containers that contain unique key/value...“
Optionen

Danke, werde mal schauen, wie sich das einsetzen lässt.
Kann leider erst am Freitag wieder weiter machen :(

bei Antwort benachrichtigen