예제를 사용하여 내 질문을 설명 할 것입니다. 나는 구조의 삼각형이 있습니다C++에서 std :: list를 구조체의 멤버로 사용할 수 있습니까?
struct mystruct {
int length;
}
가 가능 : MYSTRUCT가
struct Triangle {
int perimeter;
double area;
list <mystruct> sides;
};
? 나타날 수있는 문제가 있습니까?
예제를 사용하여 내 질문을 설명 할 것입니다. 나는 구조의 삼각형이 있습니다C++에서 std :: list를 구조체의 멤버로 사용할 수 있습니까?
struct mystruct {
int length;
}
가 가능 : MYSTRUCT가
struct Triangle {
int perimeter;
double area;
list <mystruct> sides;
};
? 나타날 수있는 문제가 있습니까?
예, 가능합니다. 실제로는 composition입니다. 이처럼 사용할 수 있습니다
mystruct s;
s.length = 10;
Triangle t;
t.sides.push_back(s);
객체 조성물은 더 복잡한 것들에 대한 간단한 객체 또는 데이터 유형 을 결합하는 방법입니다.
전혀 문제가 없습니다.
std::list<>
은 잘 작성/구현되고 복사 가능 (이동 가능), 기본 구성 가능 등으로, 무엇이든 두려워하지 않고 struct
에서 사용할 수 있습니다.
거의 모든 용도로 struct
과 class
사이의 중요한 차이점은 기본 액세스 지정자입니다.