レベルアップ!スマートフォン用の表示で見るレベルアップ!備忘録として綴ります。この広告は、90日以上更新していないブログに表示しています。"abc";};という書き方とHuga():m_integer(0),m_float(0.0f),m_char('a'),m_string("abc"){};という書き方があります。Huga()の書き方ををメンバイニシャライザと言います。コンストラクタで初期化するときはこのメンバイニシャライザの方が効率がいいとのことです。オブジェクトがインスタンス化される際の流れは、次のような感じになっています。1.オブジェクトをインスタンス化する。2.クラスが持つメンバ変数のコンストラクタが起動し、中に書かれている処理が実行される。3.コンストラクタの内容が実行される。2の部分で、メンバ変数のコンストラクタが呼び出されていて、それぞれ初期化済みになっています。第13章でも効率ってどのくらい良いんだろう?と疑問に思い、調べてみました。以下のソースを用意し処理時間を計測してみました。0;}10万回ループを回してもこの程度のクラスだと差分が出なかったので、100万回回してみました。差分0.297だいたい0.2~0.4秒ほど早いですね。メンバイニシャライズの方が効率がいい、というのがこれで分かりました。記述も何となくそっちの方がかっこいいから、と言う理由でメンバイニシャライズで初期化していましたがコンストラクタの仕組みを一つ理解できた気がします。クラス定義の中でメンバ変数を書いた順番通りにするのが基本です。クラス定義の中でメンバ変数を書いた順番と同じだからです。余計な混乱を招かないように、順番を合わせておきましょう。初期化の順番も大事なんですね。読者になるレベルアップ!備忘録として綴ります。分からないことだらけで勉強の毎日です。最新記事ココフォリアの使い方~PL編2キャラクターを設定しようぜ!~ココフォリアの使い方~PL編1キャラクターを作ろうぜ!~ココフォリアの使い方~KP・GM編4キャラクター作成~ココフォリアの使い方~KP・GM編3画像を表示する~ココフォリアの使い方~KP・GM編2共有メモ~月別アーカイブはてなブログをはじめよう!jagabeeInitializeさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。