Конгер Д.
Физика для разработчиков компьютерных игр
стр. 153

но этот случай - исключение из правила. Поскольку определение класса mesh_data содержится в private-разделе определения класса d3d_mesh, и поскольку объектам класса d3d_mesh нужен быстрый доступ к данным в объектах класса mesh_data, элементы данных класса me sh_data объявлены как public.

Предупреждение

Опытные программисты, хорошо знающие язык C++, заметят, что можно и не объявлять элементы данных класса mesh_data как public. Их можно объявить как private и создать встраиваемые (inline) public-методы доступа к ним. Использование этих методов позволит избежать снижения скорости при доступе к данным. Это правда. Компилятор C++ подставляет код встраиваемых методов в места их вызова, примерно так же, как препроцессор - макрокоманды в программах на С.

Если вы реализуете класс с подсчетом ссылок более сложный, чем класс mesh_data, я настоятельно рекомендую создать public-методы доступа к его элементам данных, а сами элементы данных объявить как private. Хотя код станет несколько более объемным, он будет надежнее, а использование встраиваемых методов не приведет к снижению скорости.

В классе mesh_data есть свои методы. Точнее говоря, в нем есть конструктор и деструктор. Их код приведен в листинге 6.5.








Новости
«Мясной» экшен Redeemer: Enhanced Edition задержится до осени
Издательство «Бука» и студия Sobaka объявили о том, что кровавый экшен Redeemer: Enhanced Edition, ранее запланированный к выходу в августе, был отложен на осень.
Steam-версия Orwell бесплатна до завтра
Игру можно забрать в течение суток, получив ключ для активации в Steam.