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?