Hi Leute,
bei meinen Versuchen eine C++ Bibliothek per JavaScript zu visualisieren bin ich auf folgendes gestoßen:
class Bla
{
public:
static std::string a;
static std::char* b;
~Bla()
{
printf(a);
printf(b);
}
} Bla;
std::string Bla::a = "";
std::char* Bla::b = "";
irgendEinKlasse::FunktionDieAufgerufenWird()
{
Bla::a = "test";
Bla::b = "test";
}
wenn ich das mache so ist im Destruktor ~Bla a="" und b="test".
woran liegt das?
wie kann ich dafür sorgen, dass std::string a im Destruktor von Bla den Wert behält den es von irgendEinKlasse::FunktionDieAufgerufenWird() bekommen hat? Mein Ziel wäre es, später in irgendEinKlasse::FunktionDieAufgerufenWird() anstelle eine std::string ein eigenes kompliziertes datenobjekt zu setzen und dass dann im destruktor abzufragen... aber dafür muss ich erstmal verstehen wie ich machen kann das std::string a seinen wert behält.
Ideen und/oder Erklärungen?