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.