Applistar

6. 1. 3 初期化リスト

  6. 1. 3 初期化リスト  

6. 1. 3 初期化リスト

fifo(sc_module_name name) : sc_channel(name), num_elements(0), first(0) {
...
}

のようなコロン(:)以下 波形かっこ({) までの記法は何を意味するのですか?

これは初期化リストと呼ばれています。

コンストラクタを書くときにそれぞれの引数の値を、それぞれ対応する データメンバに転送する必要があります。そのための ひとつは代入文を用いる方法ですが、もうひとつの方法として「初期化リスト」 を使って指定できます。 上の書式はその「初期化リスト」です。

(推奨) コンストラクタでは代入よりも初期化を使おう

「Effective C++] Scott Meyers著 改定第2版 12項

const データメンバは代入ができないので初期化しか方法が無い

  6. 1. 3 初期化リスト