inline specifier
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
[править] Синтаксис
| inline function_declaration | |||||||||
[править] Описание
Встроенный ключевое слово намеками дали компилятору выполнять оптимизацию. Компилятор имеет право на свободу игнорировать этот запрос.
Оригинал:
The inline keyword is a hint given to the compiler to perform an optimization. The compiler has the freedom to ignore this request.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если компилятор встраивает функции, он заменяет каждый вызов этой функции с реальным телом (без генерации вызова).
Оригинал:
If the compiler inlines the function, it replaces every call of that function with the actual body (without generating a call).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Это позволяет избежать дополнительных накладных расходов созданные вызовом функции (размещение данных в стек и извлечения результата), но это может привести к большим исполняемый код функции должен быть повторен несколько раз.
Оригинал:
This avoids extra overhead created by the function call (placing data on stack and retrieving the result) but it may result in a larger executable as the code for the function has to be repeated multiple times.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Результат аналогичен Функция подобных макросов
Оригинал:
The result is similar to Функция подобных макросов
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Тело функции должны быть видимыми в текущем единицу перевода.
Оригинал:
The function body must be visible in the current translation unit.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Класс методы, определенные внутри класса тела неявно встроенные.
Оригинал:
Class methods defined inside the class body are implicitly declared inline.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
Запустить этот код
inline int sum(int a, int b) { return (a + b); } int c = sum(1, 4); // if the compiler inlines the function the compiled code will be the same as writing int c = 1 + 4;

