Язык С++ |
По последним данным, на рынке продается по крайней мере 2 768 942 книги о С++, не говоря уже о всевозможных курсах, обучающих программах, журналах и семинарах с коктейлями. И все же в этом изобилии наблюдается удручающее однообразие. |
| |
|
Добро пожаловать на сайт студии Web-дизайна "САР" |
Материалы книги получены с http://www.itlibitum.ru/
Оптимизация в особых ситуациях
Если адрес переменной класса получать не требуется, ее можно хранить в виде внедренного объекта. Впрочем, как показывает следующий фрагмент, ситуация не всегда находится под контролем разработчика класса:
void f(int);
class Foo {
private:
int x; // Адрес получать не нужно, поэтому храним непосредственно
public:
void F() { f(x); }
};
Выглядит вполне безопасно, не правда ли? А теперь предположим, что автор функции f() привел ее интерфейс к следующему виду:
void f(int&);
И вот вся тщательно спроектированная оптимизация обрушивается вам на голову. У внедренных объектов есть еще одна проблема: вы должны проследить не только за тем, чтобы никогда не получать адрес объекта, но и за тем, чтобы никогда не получать адресов рекурсивно внедренных членов.
class Bar {
private:
Foo foo;
};
Допустим, вы сможете доказать, что ни одна из функций Bar не получает адрес foo. Но вам придется сделать следующий шаг и проследить еще и за тем, чтобы все функции Foo тоже были безопасными. Та же логика относится и к базовым классам. Важно понимать, что такая оптимизация должна осуществляться на уровне всей программы, а не только проектируемого класса.
Назад Содержание Далее
| |
Специальное предложение |
- Регистрация доменного имени в зоне .net.ru или .pp.ru (1 год)
- Хостинг (1 год)
- Готовый дизайн
- Поддержка РНР
- 3 страницы сайта (главная, о фирме, контакты)
- Регистрация в 256 поисковых системах и каталогах
- Форма сообщений
|
|
Размещение объявлений |
Недорого предлагаем разослать ваше рекламное предложение о товарах или услугах на сотни досок объявлений по всему Рунету. |
|
Язык С++ |
Просматривать полку книг о С++ в книжном магазине ничуть не интереснее, чем литературу по бухгалтерии. В сущности, все книги пересказывают одно и то же и отличаются разве что по весу и количеству цветов в диаграммах и таблицах.
|
|
|