Обновить
0

Пользователь

Отправить сообщение

Индексирование с 1 это же прекрасно!

Так как, типZooData в данном случае теперь один на весь модуль не имеет смысла передавать его в функции по указателю. Хоанить его лучше в секции данных в статической памяти. Ведь нужен всего 1 экземпляр данной структуры. При этом большинсиво функций обработчиков можно заставить работать тодько с элементарными скалярными типами, что без дженериков позволит им работать с разными типами структур. Например функцию update_positions() можно переписать следующим образом:

// функция движения

void update_positions(int *box, int * y, int count ) { // Процессор ликует: данные лежат в памяти ровной линией. // Пока он считает x[0], контроллер памяти уже подтягивает x[1...15] в кэш. for (int i = 0; i < count; i++) { x[i] += 1.0f; y[i] += 1.0f; }}

Вызов: update_positions(zoo->x, zoo->y, zoo->count);

Для меня красивый код это прежде всего эффективный и алгоритмически-верный код. У программистов есть своя профессиональная болезнь, от которой трудно излечиться — графоманство. Программист-графоман это угроза всей IT-индустрии, так как такие как он заботятся о красоте написанного кода, о том как выглядит он в редакторе, а не о том, как он работает в реальной жизни. Потребитель не смотрит ваш код, он смотрит на конечный результат. И если ваш красивый код убивает Боинг и всех пассажиров, то от такой «красоты» лучше держаться подальше…

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность