-1
다음과 같은 코드에서 액세스하려는 헤더에 숫자가 몇 개 있습니다.동적 이름을 가진 클래스의 멤버에 액세스하는 방법 Cocos2d-x C++
auto number = dynamic_cast<Int*>(this->findTheMemberWithName("level%i",i));
C++에서 이런 일을 할 수있는 방법이 있나요 : 다음 구현
_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
}
나는이 같은 의사 코드에 생각에
int _number0;
int _number1;
?
모든 가이드 라인을 읽어 주셔서 감사합니다. 인사말.
'_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)]; '. –
이 중에서 첫 번째 것은 당신이하고자하는 바에 따라 _probably_ 더 효율적입니다. –