Tutorial 16. Other Data Types

nil
nilはbooleanの拡張データ型です。nilの値は常にfalseをとります。constではないoperatorは全て非合法になります。
returnせずに終了したfunctionはnilを返します。

typeid

typeidは全てのオブジェクトに対して、それぞれのデータ型固有のidを値に持ちます。初期化されないtypeidの値は0です。

class a{};
class b{};

int i;
a x;
typeid(i);
typeid(x);
typeid(b());


typeid(i)はint型のidを値に持ちます。
typeidはclassに対しても固有のidを持つことが可能です。typeid(x)はclass aのidを値に持ちます。
typeid(b())は生成されたbのオブジェクトが渡され初期化され、class bのidを値に持ちます。

ref


string s="abc";
ref r(s);


refはconstructorに渡された値へのreferenceを保持します。初期化されないrefはnilへのreferenceが値になります。

r.get()+="def";


refはget()というmethodを呼び出すことによってreferenceへアクセスします。例では、sへ"def"を文字列連結しています。期待されるsの値は"abcdef"となります。


Next: Tutorial 17. Includes
Prev: Tutorial 15. Scope of Variables