Я хотел бы знать, может ли следующий код когда-либо провалиться с нарушением прав доступа или если он безопасен. Является ли первый член оператора с оператором AND всегда проверяемым как первым, так и может быть (с помощью некоторой оптимизации компилятора или что-то в этом роде) проверил второй как первый?
var
Item: TSomething;
procedure DoSomething;
begin
if Assigned(Item) and (Item.SomeProperty) then
DoSomethingElse;
end;
Является ли код выше определенно безопасным?
Спасибо!