C++에서 구조체에 값을 대입하기
글쓴이: wafe / 작성시간: 수, 2004/09/08 - 2:34오후
C++에서 구조체 변수를 선언과 동시에 정의할 때는 다음과 같은 코드가 가능합니다.
struct ST
{
int m1;
int m2;
};
ST a = {0, 1};
그런데 이런 건 안되죠.
ST a; // 다른 곳에서 선언. 클래스 멤버라든지.
a = {0, 1};
정말 귀찮아서 이런식으로 쓰는 일도 있습니다.
ST a; // 다른 곳에서 선언. 클래스 멤버라든지.
ST b = {0, 1};
a = b;
그런데 이 방법은 쓰지도 않을 인스턴스를 하나 만들게 되는게 영 찝찝합니다.
꼭 멤버마다 값을 하나씩 대입해줘야 하나요? 정말 귀찮은데, 편리한 방법이 없을까요? 다른 분들은 어떻게 하시는지 궁금합니다.
Forums:


[code:1]struct ST{ int m1;
struct ST { int m1; int m2; ST( int v1, int v2 ) : m1( v1 ), m2( v2 ) {} set( int v1, int v2 ) { m1 = v1; m2 = v2; } }; ST a; or ST a( 2, 3 ); a.set( 0, 1 ); 또는 ST a; a = ST( 0, 1 );그냥 멤버 함수 하나 만드시죠. 아니면 밑의 생성자 형식을 사용해보시는 것도 모양상으로는 나쁘지 않을 것 같습니다. 뭐... 최적화하면 임시객체가 없어질지도 모르겠습니다...
댓글 달기