"Мюррэй Хилл, Бьярн Страустрап. Язык С++" - читать интересную книгу автора


то он будет, с помощью операции delete, освобождать пространство,
выделенное конструктором, поэтому когда vector выходит из области
видимости, все его пространство возвращается обратно в память для
дальнейшего использования.

1.12 Inline-подстановка

Если часто повторяется обращение к очень маленькой функции, то вы
можете начать беспокоиться о стоимости вызова функции. Обращение к
функции члену не дороже обращения к функции не члену с тем же
числом параметров (надо помнить, что функция член всегда имеет хотя
бы один параметр), и вызовы в функций в C++ примерно столь же
эффективны, сколь и в любом языке. Однако для слишком маленьких
функций может встать вопрос о накладных расходах на обращение. В
этом случае можно рассмотреть возможность спецификации функции как
inline-подставляемой. Если вы поступите таким образом, то
компилятор сгенерирует для функции соответствующий код в месте ее
вызова. Семантика вызова не изменяется. Если, например, size и elem
inline-подставляемые, то

vector s(100);
//...
i = s.size();
x = elem(i-1);

порождает код, эквивалентный

//...
i = 100;
x = s.v[i-1];

C++ компилятор обычно достаточно разумен, чтобы генерировать
настолько хороший код, насколько вы можете получить в результате
прямого макрорасширения. Разумеется, компилятор иногда вынужден
использовать временные переменные и другие уловки, чтобы сохранить
семантику.
Вы можете указать, что вы хотите, чтобы функция была inline-
подставляемой, поставив ключевое слово inline, или, для функции
члена, просто включив определение функции в описание класса, как
это сделано в предыдущем примере для size() и elem().
При хорошем использовании inline-функции резко повышают скорость
выполнения и уменьшают размер объектного кода. Однако, inline-
функции запутывают описания и могут замедлить компиляцию, поэтому,
если они не необходимы, то их желательно избегать. Чтобы inline-
функция давала существенный выигрыш по сравнению с обычной
функцией, она должна быть очень маленькой.

- стр 39 -