属性
Attribute
手続きとしてのコードだけではなく、意味論としてそれがどういう性質を持つのかを示す必要が出てくるようになった。
記述方法は言語により様々。
どのようなものが属性として扱われているかの例
定値(書き換え不能) (const)
変更可能(mutable)
非推奨(deplecated)、時代遅れ(obsolete)
破棄不可(nodiscard) (C++17)
純粋関数(pure)
揮発(volatile)
読み出しを省略できないことを示す
静的(static)
公開(public)
非公開(private)
パッケージ内公開(package)
特定対象への公開(friend)
インライン展開(inline)
位置(position)
引数の順番を指すなど
検証(validation)
例: 引数の正当性を検証する。
プログラムの一部になるが、その目的と記述場所が明確に位置づけられる。