C++09 Attributes: Specify Your Constructs’ Unusual Properties
++ constructs such as functions, types, variables, and blocks are associated with implicit properties that you sometimes need to override. Certain constructs require you to specify their unusual properties, for