구조체는 클래스내부에서만 사용하는 경우가 아니면 GlobalStruct클래스를 따로 만들어서 빼는게 훨씬 나은것같다.

 

가령

 

class a
{
private:
 	struct DO_SOMTHING
 	{
 	};
};

 

이런식으로 클래스 내부에서 한정적으로 쓰는거라면 내부 구조체로 사용하면 되지만

만약 다른곳에서 해당 구조체를 참조해야하는 상황이 벌어지면 

 

 

class globalData
{
public:

    struct DO_SOMETHING
    {
    };
};







//a class.h


#include "globalData.h"


class a
{

private:
	globalData::DO_SOMTHING d;
};


or



globalData::DO_SOMTHING d;

 

 

요런식으로 아예 그냥 공용 구조체 클래스를따로 빼버리는게 낫다.

(구조체 선언만 전문적으로 관리하는 클래스 - cpp가 없이 구조체 인터페이스 느낌이라고 생각하면 편하다.)

네임스페이스를 쓸까도 생각해봤는데 저게 더 깔끔하고 네임스페이스는 뭔가 패키지 전체를 구분짓는 듯한 뉘앙스라

저렇게 별도 클래스로 관리중.

지금 별생각없이 클래스별로 구조체만들어놨다가.. 다뜯어고치고있다 ㅡ,.ㅡ 

 

+ Recent posts