C Structs와 C# 클래스 모두에 대한 답을 찾았지만 C++과 관련하여 빈손으로 돌아 왔습니다. 편집 : C에서는 할 수 없습니다. C#에서는 GetProperties() 메서드입니다.C++ 클래스의 (공용) 속성을 루프 할 수 있습니까?
컨텍스트 : 공공 속성이있는 C++ 클래스가 있습니다 (X, Y, Z가있는 Point라고 가정 해 봅시다). 이 속성들을 UDP를 통해 자바 클라이언트에 보내고 싶습니다. 내 생각은 세 가지 특성을 가진 바이트 (char *) 버퍼를 생성하는 것이었다. (나는 엔디안 문제를 처리했다.)
prepareForUdp(char * buffer)
{
int offset = 0;
int offsetValue = 4;
char tempBuffer[16];
memcpy(tempBuffer, &X_, sizeof(X_));
offset = offset + offsetValue;
memcpy(tempBuffer + offset, &Y_, sizeof(Y_));
offset = offset + offsetValue;
memcpy(tempBuffer + offset, &Z_, sizeof(Z_));
offset = offset + offsetValue;
memcpy(buffer, tempBuffer, sizeof(buffer));
}
나는 점은, 다섯, 또는 n 번째 차원을 네 번째를 얻을 수 있기 때문에 내 인터페이스는, 진화 적으로 원하고, 내 prepareForUdp() 메소드는 (상대적으로) 일반 싶어요.
제 질문은 : 어떻게 내 속성을 통해 반복 (또는 반복)합니까?
C의 방법은 무엇입니까? – lijie
아마도 C 구조체에 대한 '응답'을 게시 한 경우 대답으로 간주 할 수 있습니다. 어떻게 C에서 그것을 해결할 수 있고 C++에서도 같은 것을 할 수 없다는 것을 알 수는 없다. – Jamie
나는 그 점에 대해 미안하다, Jamie. C에 대한 대답은 "너는 할 수 없어"... 나는 첫 번째 게시물을 편집 할 것이다. –