R.7.1.2 Спецификации функций
R.7.1.2 Спецификации функций
Некоторые спецификации можно использовать только в описании функций.
спецификация-fct:
inline
virtual
Спецификация inline подсказывает транслятору, что необходимо произвести подстановку тела функции вместо обычной реализации вызова функции. Подсказка может игнорироваться. В случае функций, не являющихся членами, спецификация inline дополнительно устанавливает для функции внутреннее связывание (§R.3.3). Функция (§R.5.2.2, §R.8.2.5), определенная в описании класса, имеет по умолчанию спецификацию inline.
Функция-член со спецификацией inline должна иметь в точности такое же определение в каждой единице трансляции, где она появляется.
Функцию-член не обязательно явно описывать со спецификацией inline при описании класса, чтобы она трактовалась как подстановка. Если спецификации inline не было, связывание будет внешним, если только определение со спецификацией inline не появится перед первым вызовом функции.
class X {
public:
int f();
inline int g(); // X::g() имеет внутреннее связывание
int h();
};
void k(X* p)
{
int i = p-›f(); // теперь X::f() внешнее связывание
int j = p-›g();
//…
}
inline int X::f() // ошибка: вызов до определения
// как inline
{
//…
}
inline int X::g()
{
//…
}
inline int X::h() // теперь X::h() имеет внутреннее связывание
{
//…
}
Спецификация virtual может использоваться только в описаниях нестатических функций-членов при описании класса (см. §R.10.2).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Не читайте спецификации
Не читайте спецификации Зайдите в комнату, наполненную веб-дизайнерами, и спросите их: «Кто любит читать спецификации?» Возможно, вы увидите одну поднятую руку. (Если этот человек – вы, то я горжусь вами и свободным временем, которое у вас есть, по всей видимости.) Пусть они
Спецификации W3C
Спецификации W3C W3C выпускает спецификации как для XML, так и для XSL, и именно с ними мы будем работать на протяжении всей книги. Спецификации W3C не называются стандартами, поскольку, по международным соглашениям, стандарты могут создаваться только уполномоченными
4.12 Сети по спецификации 802
4.12 Сети по спецификации 802 После того как DIX Ethernet и другие технологии локальных сетей доказали на компьютерном рынке свою полезность, IEEE организовала комитет 802 по разработке и публикации стандартов для технологий локальных сетей.Стандарты из серии 802, объединяющие
R.7.1 Спецификации
R.7.1 Спецификации В описании можно использовать следующие спецификации:спецификация-описания: спецификация-класса-памяти спецификация-типа спецификация-fct спецификация-шаблона-типа friend typedefспецификации-описания: спецификации-описания opt спецификация-описанияСамая
R.7.4 Спецификации связи
R.7.4 Спецификации связи С помощью спецификации-связи можно связать (§R.3.3) фрагменты программ на C++ и на другом языке:спецификация-связи: extern строка-литерал { список-описаний opt } extern строка-литерал описаниесписок-описаний: описание список-описаний описаниеТребуемое
17.4. Спецификации — ДНК, код — РНК
17.4. Спецификации — ДНК, код — РНК Даже в давние времена PDP-7 Unix-программисты всегда (больше чем их коллеги, работающие с другими системами) были склонны рассматривать старый код как непригодный к повторному использованию. Это, несомненно, было продуктом Unix-традиции,
17.4. Спецификации — ДНК, код — РНК
17.4. Спецификации — ДНК, код — РНК Даже в давние времена PDP-7 Unix-программисты всегда (больше чем их коллеги, работающие с другими системами) были склонны рассматривать старый код как непригодный к повторному использованию. Это, несомненно, было продуктом Unix-традиции,
Совет 46. Передавайте алгоритмам объекты функций вместо функций
Совет 46. Передавайте алгоритмам объекты функций вместо функций Часто говорят, что повышение уровня абстракции языков высокого уровня приводит к снижению эффективности сгенерированного кода. Александр Степанов, изобретатель STL, однажды разработал небольшой комплекс
12.3.5. Адаптеры функций для объектов-функций
12.3.5. Адаптеры функций для объектов-функций В стандартной библиотеке имеется также ряд адаптеров функций, предназначенных для специализации и расширения как унарных, так и бинарных объектов-функций. Адаптеры – это специальные классы, разбитые на следующие две
19.2.6. Спецификации исключений
19.2.6. Спецификации исключений С помощью спецификации исключений (см. раздел 11.4) в объявлении функции указывается множество исключений, которые она может возбуждать прямо или косвенно. Спецификация позволяет гарантировать, что функция не возбудит не перечисленные в ней
19.11.2. Вызов функций из файла функций
19.11.2. Вызов функций из файла функций Мы уже рассматривали, каким образом функции вызываются из командной строки. Эти типы функций обычно используются утилитами, создающими системные сообщения.А теперь воспользуемся снова описанной выше функцией, но в этом случае