Я про чисто алгоритмический аспект. Понятно - что внутренне - это всё 1 или 0. Но для человека понятнее - если видишь nil в присвоении - понимаешь, что тут явно Pointer или его производные. А если 0 - то это число (перечисляемое значение).
Чисто алгоритмически в данной ситуации мы не находим данные по заданному ключу и хотим вернуть какое-то его дефолтное значение (что-то вернуть-то нужно).
Лучше было бы, конечно, передавать это дефолтное значение в самой функции
- Код: Выделить всё
function MyGetValue(key:TKey; def: TValue = Default(TValue)):TValue;inline;
...
result := def;