LINUX.ORG.RU

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

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

А ты ими реально пользуешься?

Ага. Хеш-таблицы, печать в динамически выделяемую строку (a la asprintf), всякие мелочи типа разрезания строк по символам, сборка строк (типа StringBuilder), синхронные и асинхронные очереди. Почти для всего, что можно придумать, в GLib уже есть функции-помощники.

Например, там есть g_file_replace_contents(), которая по описанию сначала пишет во временный файл, а потом его переименовывает. Или, скажем, g_file_get_contents(), чтобы не возиться с вызовами lstat (или, как некоторые делают, fopen, fseek, ftell, fseek, fread, fclose).

Upd. Если не твикать параметры, GLib может оказаться не медленнее std::map или std::unordered_map: Библиотека алгоритмов и структур данных для C (комментарий). С твиками unordered_map рвёт GHashTable (там по теме дальше есть подробности).

Исходная версия i-rinat, :

А ты ими реально пользуешься?

Ага. Хеш-таблицы, печать в динамически выделяемую строку (a la asprintf), всякие мелочи типа разрезания строк по символам, сборка строк (типа StringBuilder), синхронные и асинхронные очереди. Почти для всего, что можно придумать, в GLib уже есть функции-помощники.

Например, там есть g_file_replace_contents(), которая по описанию сначала пишет во временный файл, а потом его переименовывает. Или, скажем, g_file_get_contents(), чтобы не возиться с вызовами lstat (или, как некоторые делают, fopen, fseek, ftell, fseek, fread, fclose).