원문: http://blog.naver.com/baboneo/80007502224
union을 사용하면 공간 절약, 큰 놈 쪼개기 등의 장점외에도...

**

union SVertexf
{
   struct
   {
       float x, y, z;
   };

   float v[3];
};

...

SVertexf v;

// 인간적인-_- 구조체 멤버에 접근해서 직관적으로 값을 대입하기도 하고

v.x = 3.0;
v.y = 2.0;
v.z = 5.0;

...

// 요런게 편할 때는 또 요렇게 하기도 하고

glVertex3f(v.v[0], v.v[1], v.v[2]);
glVertex3fv(v.v);

**

행렬도 비슷하게 처리하면 직관성과 for나 while 등 Loop의 장점도 살릴 수 있어 좋다.

이때 한 가지 주의할 점은...

공용체 내 서로 다른 구조체에서 변수 이름 충돌 시 먼저 정의된 변수가 우선한다는 거다.
에러 안남! -_-
따라서 같은 크기의 구조체에서 대응되는 위치에 동일한 이름이 사용될 경우
아무런 오류없이 돌아간다. 하지만 다른 이름 짓기를 권장함!

Posted by 창신다이
BLOG main image
오랫동안 꿈을 그리는 사람은 마침내 그 꿈을 닮아 간다. -앙드레 말로- by 창신다이

공지사항

카테고리

분류 전체보기 (248)
공장이야기 (115)
Education (30)
회사이야기 (19)
일상 (73)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :