-1
私はこのようなコードでアクセスしたい私のヘッダーにいくつかの数字を持っています。動的な名前を持つクラスのメンバーにアクセスする方法Cocos2d-x C++
int _number0;
int _number1;
は、次に実装
_number0 = 10;
_number1 = 20;
int i;
for(i=0; i<2, i++){
auto number = _number+i; //This is where I'm lost, how to do the right part right in order to get this int by its name created from a String + an Integer.
CCLOG("Number: %i", number); //Output Number: 10 // Number: 20
}
に私はこのような擬似コードで考えていた:
auto number = dynamic_cast<Int*>(this->findTheMemberWithName("level%i",i));
はC++でこのような何かをする方法はありますか?
ありがとうございます。ご挨拶
'_number'を配列にし、最後の数字をインデックスとして使用しますか?たとえば、 'int _number0'と' int _number1'の代わりに 'int _number [2]'や 'std :: array _number'を使うことができます。次に、 '_number [0] = 10;'と '_number [1] = 20; 'を割り当てます。これにより、 'auto number = _number [i];'はループ内のそれぞれにアクセスできるようになります。 –
また、 'std :: unordered_map _numbers;'を使って、それぞれに 'auto number = _numbers [" _ number "+ std :: to_string(i)]のようにアクセスすることもできます。 '。 –
これらのうち、最初のものは、あなたがしたいことに応じて、より効率的です。 –