LINUX.ORG.RU

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

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

list_head абсолютно монопенисуален «типу», просто он «интрузивный» и в этом его сила (позволяет хранить разные «типы» в одном списке, если кто-то посчитал, что они как-то связаны, и там, где они были созданы, как и один элемент — в разных списках). А то что вы хотите — это «неинтрузивный» список (на самом деле — вырожденный случай, получается из листхеда хранением в нем оберток для примитивного типа — просто добавляется «уровень абстракции» и «индирекции» — хранится не сам примитивный тип «число» или «флаг», а «указатель на переменную примитивного типа»), но в классических реализациях структурки под элементы тоже никуда не делись (просто спрятаны под капотом), еще и заморочки с самостоятельным обслуживанием памяти под них — вот это вот «То есть это список объектов, который можно динамически расширять» — как раз заморочки с пулом структурок, хранящих указатели на переменные примитивного типа :)

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

list_head абсолютно монопенисуален «типу», просто он «интрузивный» и в этом его сила (позволяет хранить разные «типы» в одном списке, если кто-то посчитал, что они как-то связаны, и там, где они были созданы, как и один элемент — в разных списках). А то что вы хотите — это «неинтрузивный» список (на самом деле — вырожденный случай, получается из листхеда хранением в нем оберток для примитивного типа — просто добавляется «уровень абстракци» и «индирекции» — хранится не сам примитивный тип «число» или «флаг», а «указатель на переменную примитивного типа»), но в классических реализациях структурки под элементы тоже никуда не делись (просто спрятаны под капотом), еще и заморочки с самостоятельным обслуживанием памяти под них — вот это вот «То есть это список объектов, который можно динамически расширять» — как раз заморочки с пулом структурок, хранящих указатели на переменные примитивного типа :)