같은 유형의 멤버 집합을 반복하고 싶습니다. 다음은 때때로 작동하는 솔루션입니다.참조 된 배열로 클래스 멤버를 순환합니다 (C++)
#include <iostream>
#include <vector>
class Test{
public:
Test():xmin(0),ymin(0),xmax(0),ymax(0),acs((vector<int> (&)[4])xmin){};
vector<int> xmin,ymin,xmax,ymax;
vector<int> (&acs)[4];
};
int main(){
Test t;
t.xmin.push_back(2);
cout << t.xmin.size() << "=!=" <<t.acs[0].size() << endl;
}
위의 테스트 코드는 저에게 적합합니다. 훨씬 더 큰 프로그램에서 나는 그렇지 않습니다. 즉, t.ymin은 t.acs [1]와 같지 않습니다. 위의 구문은 일반적으로 의미가 있습니까? 아니면 완전히 다르게해야합니까? 사전에
감사합니다, 토마스
당신은 확실히이 정의되지 않은 동작으로 연주 :
당신이 속도를 필요로하지 않는 경우, 아주 간단한 해결책은 스위치를 포함한다. 연속되는 클래스 멤버가 배열 요소와 같은 방법으로 배치된다는 보장은 없습니다. –