Помощь - Поиск - Пользователи - Календарь
Полная версия: with
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
lopata
смотрела я тут деревья...и возник вопрос :

procedure Insert(var Root: TTree; X: T);

{ Дополнительная процедура, создающая и инициализирующая новый узел }
procedure CreateNode(var p: TTree; n: T);
begin
New(p);
p^.value := n;
p^.Left := nil;
p^.Right := nil
end;

begin
if Root = nil Then CreateNode(Root, X) { создаем новый узел дерева }
else
with Root^ do begin
if value < X then Insert(Right, X)
else
if value > X Then Insert(Left, X)
else
{ Действия, производимые в случае повторного
внесения элементов в дерево}
end;
end;


Что это такое with для чего оно нужно и как работает?

with Root^ do begin
if value < X then Insert(Right, X)


volvo
Вот тут есть описание: Руководство по языку B.Pascal 7 & Objects/LR -> Оператор with
lopata
Понятно. а если делать без него, то

if Root = nil Then CreateNode(Root, X) { создаем новый узел дерева }
else
Root^.value < X then Insert(Root^.Right, X)
else
if Root^.value > X Then Insert(Root^.Left, X)
else
{ Действия, производимые в случае повторного
внесения элементов в дерево}
end;
end;



?
может и глупый вопрос, но, чтобы удостовериться, что правильно поняла

volvo
Да, если без With - то будет именно так.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.