C ++ - Проверьте, указывает ли указатель на допустимую память (здесь нельзя использовать проверки NULL)
Я создаю язык сценариев. Когда я выделяю вещь, она выделяет вещь и возвращает адрес и затем я делаю что-нибудь с этим и затем удаляю это. Я не могу контролировать переменные в нем как создание struct в моем lang (Struct с указателем и bool для проверки, указывает ли указатель на действительные данные) и т. д., потому что это сделает мой lang медленным и большим в оперативной памяти.
Например: (Мой язык сценариев легко понять. Я сомневаюсь, что вы не поймете это, но я все равно добавлю некоторые комментарии)
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
Вопрос в том, как создать функциюexists
Вы видели в этом коде.
Кстати, я могу запустить C ++ коды в этом языке.