6. 1. 3 初期化リスト
fifo(sc_module_name name) : sc_channel(name), num_elements(0), first(0) {
...
}
のようなコロン(:)以下 波形かっこ({) までの記法は何を意味するのですか?
これは初期化リストと呼ばれています。
コンストラクタを書くときにそれぞれの引数の値を、それぞれ対応する データメンバに転送する必要があります。そのための ひとつは代入文を用いる方法ですが、もうひとつの方法として「初期化リスト」 を使って指定できます。 上の書式はその「初期化リスト」です。
- (推奨) コンストラクタでは代入よりも初期化を使おう
「Effective C++] Scott Meyers著 改定第2版 12項
const データメンバは代入ができないので初期化しか方法が無い
