Ternick, например, не колхозить структуры, а использовать стандартный вектор.
Или классы той библиотеки, которой вы все равно пользуетесь во всей остальной программе, если она гуевая.
У вас же известен размер, просто вы его где-то по дороге теряете.
А функция длины строки возвращает вам длину С-строки - то есть до первого \0 в памяти.
Дмитрий, ну, при большом желании в настройке nginx, наверное, можно накосячить так, чтобы один сайт полез в папку к другому... но пользователи, надо полагать, к этим настройкам доступа не имеют.
GavriKos, Кресты уже двадцать лет вытесняются языком D. О нем по-прежнему мало кто слышал и совсем мало кто знает, но он обязательно когда-нибудь вытеснит Кресты!
Александр Мартынов, метод, создающий пул заданного объема с "мертвыми" объектами.
Если нужен объект - находим первый "мертвый", оживляем.
Если не находим - вызываем создание пула большего размера, копируем в него объекты старого, удаляем старый и используем новый вместо него.
Примерно так.
А главное - всю эту низкоуровневую суету можно один раз вписать в методы и больше в них не заглядывать, убедившись, что все работает. Вот в этом и главная прелесть ООП ;)
Александр Мартынов, в конкретных языках есть конкретные варианты списков, сетов и прочих множеств.
Вы язык не указали.
Скорость выполнения программы скорее будет тормозиться постоянным созданием и удалением объектов, для оптимизации скорее стоит рассмотреть готовый пул, если их количество предсказуемо. Но говорить об оптимизации, не имея готового алгоритма самой задачи, просто глупо.