
xxii
|
はじめに
bool func(const Widget& w)
{ return w.size() < 10; } // function definition
関数の定義
enum class Color
{ Yellow, Red, Blue }; // scoped enum definition
スコープを持つ enum の定義
「定義」は内容的に「宣言」を包含するため、定義だけを特に明示する必要がない限りは、宣言と
表記します。
著者は関数のシグネチャ(signature)を、仮引数および戻り型を指定する宣言の一部と定義してい
ます。関数名と仮引数名は含みません。先に挙げたコードでは、func のシグネチャは bool(const
Widget&) です。仮引数と戻り型以外の関数宣言の要素は除外します(noexcept や constexpr な
どが記述されていても除外する。noexcept と constexpr については項目 14 および項目 15 で述べ
る)。「シグネチャ」の公式な定義は著者の定義とは一致しませんが、本書では著者の定義の方が実
用的です(公式な定義では戻り型を含まない場合がある)。
C++ 言語標準が改版されても、通常は以前の言語標準で記述されたコードの有効性は維持されま
す。しかし時として標準化委員会がそれまでの機能を非推奨(deprecate)とすることもあります。
このような機能は標準仕様内での位置付けが変更され、将来のバージョンで削除される可能性があ
ります ...