C++ Thread aus Variable starten?
Ich möchte dass ich z.B:
thread t1(einVoid);
So gestartet werden kann:
int hallo = 1;
string test = "t" + to_string(hallo);
thread test(einVoid);
Und dass halt in eine for loop.
Gibt mir aber leider immer einen Fehler.
Vielleicht weis es wer besser als ich :]
1 Antwort
Kein Wunder, dass da snicht geht.
Du kannst Variablennamen in deinem Programm nicht aus anderen Variablen aufbauen. Wenn überhaupt, ginge soetwas nur mittels Makros oder extrenen Tools, aber das möchtest du in der Regel auch nicht haben.
Wenn ich dich richtig verstehe, dann möchtest du deine Threads bennenen? Je nach Anwendungszweck kannst du dafür entweder den Threads ein zusätzliches Attribut geben oder eine Map erstellen, die den Namen den zugehörigen Thread zuordnet. Oder du verzichtest ganz auf Namen, da du z.B. eigentlich nur eine Indizierung bräuchtest (und dafür Container wie z.B. Arrays, Vektoren oder Sets verwenden könntest).