Storage-class specifiers
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
auto- автоматическая с длительностью никакой связи.Оригинал:auto- automatic duration with no linkage.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.register- автоматическая с длительностью никакой связи. Также подсказки компилятору разместить переменную в регистре процессора.Оригинал:register- automatic duration with no linkage. Also hints to the compiler to place the variable in the processor's register.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.static- статическая продолжительность внутренних связей.Оригинал:static- static duration with internal linkage.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.extern- статическая продолжительность с внутренней или чаще внешних связей.Оригинал:extern- static duration with either internal or more usually external linkage.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда._Thread_local- (начиная с C11) - резьба срок хранения.Оригинал:_Thread_local- (начиная с C11) - thread storage duration.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Объяснение
Хранение продолжительности
Все переменные в программе есть одна из следующих длительности хранения, что определяет его жизнь
Оригинал:
All variables in a program have one of the following storage durations that determines its lifetime:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- ' 'Автоматические длительности хранения. Переменных выделяется в начале ограждающих блоков кода и освобожден в конце. Это значение по умолчанию для всех переменных, кроме тех, заявил
static,externили_Thread_local.Оригинал:automatic storage duration. The variable is allocated at the beginning of the enclosing code block and deallocated at the end. This is the default for all variables, except those declaredstatic,externor_Thread_local.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- ' 'Статической длительности хранения. Переменную выделяется при запуске программы и освобождаются, когда программа заканчивается. Только один экземпляр переменной может существовать. Переменные, объявленные с
staticилиexternэту длительность хранения.Оригинал:static storage duration. The variable is allocated when the program begins and deallocated when the program ends. Only one instance of the variable can exist. Variables declared withstaticorexternhave this storage duration.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- ' 'Поток длительность хранения (начиная с C11). Переменную выделяется, когда поток начинает и освобождается, когда поток завершается. Каждый поток имеет свой собственный экземпляр переменной. Только переменные, объявленные
_Thread_localэту длительности хранения._Thread_localможет быть объявлен только для переменных, объявленных сstaticилиexternи не может быть использован в объявлении функции.Оригинал:thread storage duration (начиная с C11). The variable is allocated when the thread begins and deallocated when the thread ends. Each thread has its own instance of the variable. Only variables declared_Thread_localhave this storage duration._Thread_localcan only be declared for variables declared withstaticorexternand cannot be used in a function declaration.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- ' 'Выделено длительности хранения. Переменную выделяется и освобождается по запросу с помощью функции динамического распределения памяти.Оригинал:allocated storage duration. The variable is allocated and deallocated per request by using динамического распределения памяти functions.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Связь
Связь относится к способности переменной или функции должен быть передан в других областях. Если переменная или функция с тем же идентификатором объявлена в нескольких областях, но не могут быть отнесены к не все из них, а затем несколько экземпляров переменной создаются. Следующие связи признаются:
Оригинал:
Linkage refers to the ability of a variable or function to be referred to in other scopes. If a variable or function with the same identifier is declared in several scopes, but cannot be referred to from all of them, then several instances of the variable are generated. The following linkages are recognized:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- ' 'Никакой связи. Переменная может быть передан только из сферы это дюйма Все переменные с автоматической, резьба и динамические длительности хранения есть эта связь.Оригинал:no linkage. The variable can be referred to only from the scope it is in. All variables with automatic, thread and dynamic storage durations have this linkage.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- ' 'Внутренней связи. Переменная может быть отнесено к из всех областей в текущей единице перевода. Все переменные, которые объявлены
staticэту связь.Оригинал:internal linkage. The variable can be referred to from all scopes in the current translation unit. All variables which are declaredstatichave this linkage.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- ' 'Внешних связей. Переменная может быть отнесено к любой другой единицы трансляции во всей программе. Все переменные, которые объявлены либо
externилиconstбез явного хранения спецификатора класса, но неstatic, имеют эту связь.Оригинал:external linkage. The variable can be referred to from any other translation units in the entire program. All variables which are declared eitherexternorconstwith no explicit storage-class specifier, but notstatic, have this linkage.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Ключевые слова
auto, register, static, extern, _Thread_local
Пример
| Этот раздел не завершён |