- ベストアンサー
こんな処理は可能ですか?(動的な命名)
以下のように、switchでnumの値を分岐させてその値ごとに tmp[j][i]に格納する変数を変えたいのですが、こういうことはもっと スマートにできないでしょうか? int num = (ランダムな数取得); for ( int j = 0; j < 100; j++ ){ for ( int i = 0; i < 100; i++ ){ switch ( num ){ case 1: tmp[j][i] = num1[j][i]; break; case 2: tmp[j][i] = num2[j][i]; break; case 3: tmp[j][i] = num3[j][i]; break; ・ ・ ・ } } } ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 上のコードを int num = (ランダムな数取得); char *str = "num"; strcat( str, (char *)num ); //文字列の連結 tmp[j][i] = (*str)[j][i]; 見たいな雰囲気でスマートにできるのではないかと思ったのですが・・。 動的な関数呼び出しとか##演算子とかそういうのと組み合わせてこんなことは 実現できないでしょうか?
- みんなの回答 (9)
- 専門家の回答
お礼
なるほど・・。分かりやすい説明をありがとうございました。 今まで何でできないんだろうって悩んでいましたが謎がひとつ減った気がします。