ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

効率の良い定数構造体の渡し方

関数の引数に定数の構造体を渡す場合(例えば、SFXGraphics::SetForeColor 関数などに
SFXRGBColor クラスのインスタンスを渡す場合)、以下のように記述できます。

SFXGraphicsPtr graphics = SFXGraphics::GetInstance();

graphics->SetForeColor(SFXRGBColor(0xFF, 0x00, 0x00, 0x00));

この方法では、SFXRGBColor クラスのコンストラクタの分がオーバーヘッドになります。
SFXRGBColor クラスのコンストラクタを起動させずに、
定数を直接渡すには以下のように記述します。

static SFXRGBColor::AtomRecConst color = {
    0x00, 0xFF, 0x00, 0x00    // 左から順に α、R、G、B
};
SFXGraphicsPtr graphics = SFXGraphics::GetInstance();

graphics->SetForeColor(color);

このような構造体として、カラーの他にシェイプ クラスなどがあります。

参照 SFXGraphics::GetInstance | SFXGraphics::SetForeColor |
SFXRGBColor::AtomRecConst