последовательность спецификаторов атрибутов(начиная с C++11)
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Представляет зависящие от реализации атрибуты для типов, объектов, кода и т.д.
[[attr]][[attr1, attr2, attr3(args)]][[namespace::attr(args)]]alignas_specifier
[править] Объяснение
__attribute__((...)) в GNU и IBM, расширение Microsoft __declspec(), и т.д.__attribute__((...)), Microsoft extension __declspec(), etc.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[[probably(true)]] может быть использовано только с if, и не может с объявлением класса. [[omp::parallel()]] может быть применено к блоку кода или for цикла, но не к типу int, и т.д.[[probably(true)]] can only be used with an if, and not with an class declaration. [[omp::parallel()]] can apply to a code block or to a for loop, but not to the type int, etc.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[[...]] атрибуты появляются и может смешиваться с ними (при условии, что используется там, где alignas разрешено)[[...]] attributes appear and may mix with them (provided it is used where alignas is permitted)Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Стандартные атрибуты
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[[noreturn]]
|
Указывает, что функция не возвращает.
Этот атрибут применяется функционировать только объявления. Поведение неопределено, если функция с этим атрибутом фактически возвращает. The следующие стандартные функции имеют этот атрибут: std::_Exit, std::abort, std::exit, std::quick_exit, std::unexpected, std::terminate, std::rethrow_exception, std::throw_with_nested, std::rethrow_nested Оригинал: Indicates that the function does not return. This attribute applies to function declarations only. The behavior is undefined if the function with this attribute actually returns. The following standard functions have this attribute: std::_Exit, std::abort, std::exit, std::quick_exit, std::unexpected, std::terminate, std::rethrow_exception, std::throw_with_nested, std::rethrow_nested Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[[carries_dependency]]
|
Указывает, что цепочку зависимостей в релиз-потребляют std::memory_order распространяется в и из функции, которая позволяет компилятору, чтобы пропустить ненужные памяти забор instructions.
This атрибут может появиться в двух случаях: 1) он может обратиться к параметру декларации функции или лямбда-выражения, в этом случае это означает, что инициализация параметра несет в зависимости именующее к RValue преобразования, что object. Оригинал: Indicates that dependency chain in release-consume std::memory_order propagates in and out of the function, which allows the compiler to skip unnecessary memory fence instructions. This attribute may appear in two situations: 1) it may apply to the parameter declarations of a function or lambda-expressions, in which case it indicates that initialization of the parameter carries dependency into lvalue-to-rvalue conversion of that object. Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править] Пример
| Этот раздел не завершён Причина: нет примера |

