student さんが書きました: ↑5年前
switch文の処理の重さがどの程度なのかわかりません。
コード:
int input(void);
void func(int);
int main(void) {
int x = input();
switch (x) {
case 0:
func(123);
break;
case 1:
func(456);
break;
case 2:
func(789);
break;
}
return 0;
}
というコードを書いて
Compiler Explorerでコンパイルしてみたところ、
どのコンパイラでも比較と条件分岐の連続になるようでした。
数十個~数百個程度の分岐であれば、おそらく画像のロードの方がはるかに重いでしょう。
student さんが書きました: ↑5年前
switch文はデータの整理に適してるのでしょうか?
場合によるでしょう。
例えば、文字列をキーにしてデータを取り出したい時には向きません。
「やろうとしている事」は、
コード:
// 関数外
const char* haikei_list[] = {
"画像/hajimari.png", // 始まりの村の背景
~つづく
};
// 関数内
handle=loadgraph(haikei_list[haikei]);
のように配列でまとめる方がいいかもしれません。