attribute-token deprecated Могут быть использованы для имен меток и юридических лиц, использование которых по- прежнему допускается, но не рекомендуется для какой - то причине. [ Note: В частности, deprecated подходит для имен и организаций, которые считаются устаревшими или небезопасными. ] Он должен появляться не более одного раза в каждом . Может присутствовать и, если присутствует, то она должна иметь вид: — end note attribute-listattribute-argument-clause
( string-literal )
[ В может быть использовано для объяснения обоснования устаревания и / или предложить заменяющий объект. ] Note: string-literalattribute-argument-clause — end note
Атрибут может применяться к объявлению класса typedef-name, переменной, нестатического элемента данных, функции, пространства имен, перечисления, перечислителя или специализации шаблона.
Имя или сущность, объявленные без deprecated атрибута, позже могут быть повторно объявлены с помощью атрибута и наоборот. [ Note: Таким образом, объект, изначально объявленный без атрибута, может быть помечен как устаревший при последующем повторном объявлении. Однако после того, как объект помечен как устаревший, последующие повторные объявления не отменяют его. ] Допускаются повторные объявления с использованием разных форм атрибута (с или без или с разными ). — end note attribute-argument-clauseattribute-argument-clauses
[ Note: Реализации могут использовать deprecated атрибут для создания диагностического сообщения в случае, если программа обращается к имени или объекту, отличному от его объявления, после объявления, которое определяет атрибут. Диагностическое сообщение может включать в себя текст attribute-argument-clauseлюбого deprecated атрибута, применяемого к имени или объекту. ] — end note