Написание безопасного кода.Действительно каждый раз проверять наличие ошибок распределения?

Я написал трехмерную реализацию на языке CGame of LifeДжона Конвея. Теперь я хочу сделать код безопасным для ошибок. В этойстатье с сайта yolinux.com говорится

Проверка на наличие ошибок выделения памяти. Невозможно освободить его, если он не был выделен.

У меня вопрос: нужно ли мне действительно каждый раз проверять наличие ошибок распределения? Это может значительно замедлить мой код. Вот выдержка:

inline int golField_Init(golField* field, golAllocProc alloc,
                         golOptions options, uint dimx, uint dimy, uint dimz) {
    field->dimx = dimx;
    field->dimy = dimy;
    field->dimz = dimz;
    field->cells = alloc(sizeof(golCell**) * dimx);
    field->options = options;

    if (!field->cells) return 1;

    int x, y, z;
    for (x = 0; x < dimx; ++x) {
        field->cells[x] = alloc(sizeof(golCell*) * dimy);
        for (y = 0; y < dimy; ++y) {
            field->cells[x][y] = alloc(sizeof(golCell) * dimz);
            for (z = 0; z < dimz; ++z) {
                golCell_Init( &field->cells[x][y][z], 0 );
            }
        }
    }

    return 0;
}

Должен ли я действительно проверять наличие ошибок распределения при каждом выделении?Это также потребует от меня освобождения уже выделенного хранилища.

0
задан Niklas R 11 March 2012 в 21:05
поделиться