Gast
#5278909
Hallo, bin kürzlich auf ein Problem gestoßen, dass ich mir vermutlich erklären kann aber ich keine Lösung habe. Folgender Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
Der Code kann unter https://www.onlinegdb.com/online_c_compiler getestet werden. Das Problem ist, dass nur im ersten Fall die this->conf Referenz auf eine gültige Instanz zeigt. Der Grund hierfür ist soweit ich das jetzt verstanden habe dass die Lebenszeit der Conf Instanz nach dem Aufruf des Compilers vorbei ist. Ist das korrekt? Wenn ja, kann ich das irgendwie verhindern oder ist das einfach falsche Benutzung von C++ des Callers? Oder wie könnte man das eleganter lösen, damit so ein Problem gar nicht auftreten kann?