LINUX.ORG.RU

История изменений

Исправление vertexua, (текущая версия) :

напиши на нем простой двусвязный список

Эталонный пример, очень поучительный. В таких списках элементы не должны владеть друг другом и не должны выделяться с помощью аллокатора. Должны лежать рядышком в векторе, ссылаться на друг друга по индексам и выделяться из free list в виде кругового вектора. Работа с индексами должна быть абстрагирована и переходы между состояними должны соответствовать документированным инвариантам.

Именно к такому подтолкнет тебя Rust. И неплохая реализация в С++ будет делать что-то похожее

Исправление vertexua, :

напиши на нем простой двусвязный список

Эталонный пример, очень поучительный. В таких списках элементы не должны владеть друг другом и не должны выделяться с помощью аллокатора. Должны лежать рядышком в векторе, ссылаться на друг друга по индексам и выделяться из free list в виде кругового вектора. Работа с индексами должна быть абстрагирована и переходы между состояними должны соответствовать документированным инвариантам.

Исправление vertexua, :

напиши на нем простой двусвязный список

Эталонный пример, очень поучительный. В таких списках элементы не должны владеть друг другом и не должны выделяться с помощью аллокатора. Должны лежать рядышком в векторе, ссылаться на друг друга по индексам и выделяться из free list в виде кругового вектора

Исходная версия vertexua, :

напиши на нем простой двусвязный список

Эталонный пример, очень поучительный. В таких списках элементы не должны владеть друг другом и не должны выделяться с помощью аллокатора. Должны лежать рядышком в векторе, ссылаться на друг друга по индексам и выделяться из free list