OB
tmp а в tailSize: a a a
q
pop_back().У меня идет проверка ну null (если tail равен null то удалять нечего),если условие верно то присваеваем tail в tmp , дальше присваивает tail предыдущий елемент и тут опять проверяем если tail равен null то указателю на next уже не нужно присваивать nullOB
Result shift() nothrow
{
if(tail !is null){ // ты проверил, tail не null, идём дальше
Element tmp = tail;
tail = tail.previous; // проверил ли ты что tail.previous не null? нет
if(head !is null){
tail.next = null; // так как tail.previous был null, то теперь и tail null -> крах
}
return Result(tmp.value,Yes.DList);
}
return Result(null,No.DList);
}