C ++ - Sprawdź, czy wskaźnik wskazuje prawidłową pamięć (tutaj nie można używać kontroli NULL)

Tworzę język skryptowy. Kiedy przydzielam coś, to przydziela rzecz i zwraca adres, a następnie robię z nim wszystko, a następnie usuwam. Nie mogę kontrolować zmiennych w nim, takich jak tworzenie struktury w moim języku (Struct ze wskaźnikiem i boolem, aby sprawdzić, czy wskaźnik wskazuje na poprawne dane) i itp., Ponieważ spowoduje to, że mój język będzie wolniejszy i większy w pamięci RAM.

Na przykład: (Mój język skryptowy jest łatwy do zrozumienia. Wątpię, żebyś tego nie zrozumiał, ale i tak zamieszczę w nim komentarze)

MyStruct = { //Function. For create object with it use 'new' before it.
    TestAliveVar=0
}
Func = { //I'll explain what exactly this function does every place it runs.
    if (!exists(arg0)) //C++: ???
        exit;
    arg0.TestAliveVar=1
    println "Still alive!";
}
var MyVar=new MyStruct(); //Returns address of the new object in the heap
                          //and runs on it the `MyStruct` function.
Func(MyVar);              //Sets his 'TestAliveVar' to 1
                          //and prints 'Still Alive!' with new line
delete(MyVar);            //C++: free(MyVar);
Func(MyVar);              //Does nothing

Pytanie brzmi, jak utworzyć funkcjęexists widziałeś w tym kodzie. Przy okazji mogę uruchomić kody C ++ w tym języku.

questionAnswers(6)

yourAnswerToTheQuestion