Конгер Д.
Физика для разработчиков компьютерных игр
стр. 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.








Новости
Аниме-трейлер Heroes of the Storm посвящён механическим обликам героев
Blizzard выпустила обещанные вместе с появлением в Heroes of the Storm огнемётчика Блэйза новые легендарные механизированные облики нескольких героев: Тираэля, Регара, Абатура и Дехаки.
45-минутная запись геймплея Metal Gear Survive
Японское подразделение IGN представило публике 45-минутную запись геймплея Metal Gear Survive – последней части знаменитой серии, а также первой, в создании которой не принимал участие Хидео Кодзима.