ヌル値です。
オブジェクトの生成に失敗したときに返ってきたりします。また、C++でAnyPtrを引数なしで生成したときにはnullが入っています。
if文の条件式、三項演算子でfalse扱いになる値の一つです。
nullかどうかをチェックするときは、”==“や”!=“ではなく、そのまま条件式にするか”===“や”!===“を使うことが推奨されています。
xtal::NullPtr returnNull(){ return xtal::null; } void exec_xtal(){ if (returnNull()){ xtal::stdout_stream()->println("not null!"); } else { xtal::stdout_stream()->println("null!"); } if (returnNull() == xtal::null){ xtal::stdout_stream()->println("null!"); } else { xtal::stdout_stream()->println("not null!"); } }
fun returnNull(){ return null; } if (returnNull()){ "not null!".p; } else { "null!".p; } if (returnNull() === null){ "null!".p; } else { "not null!".p; }