スクリプト言語を作成しています。物を割り当てると、物が割り当てられてアドレスが返され、それを使って何でもしてから削除します。私の言語で構造体を作成する(ポインターが有効なデータを指しているかどうかを確認するためのポインターとboolを使用した構造体)などの変数を制御することはできません。これは、RAMで言語が遅くなり、大きくなるためです。
例:(私のスクリプト言語は簡単に理解できます。これを理解できないとは思いませんが、とにかくコメントを入れておきます)
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++ コードを実行できます。