ONE QUESTION AT A TIME.

천천히 생각하고, 분명하게.

TODAY’S QUESTION295 / 1500
언어·런타임난이도 중하꼬리 질문에서 확장 · 핵심 답변

allocator가 다른 C++ 컨테이너끼리 이동합니다. 언제 저장 버퍼를 넘기지 못하고 원소별 이동이 필요한가요?

꼬리 질문을 독립 문항으로 확장했습니다. 원래 문항에서 맥락 보기 →

잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?

답변과 점검 포인트 펼치기답변 접기
01

구두 답변

정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.

이동 대입에서 allocator가 전파되지 않고 서로 같지 않으면 한 컨테이너가 다른 allocator의 버퍼를 그대로 해제할 수 없어 원소별 이동이 필요할 수 있습니다. 생성·대입·명시 allocator overload의 규칙을 각각 확인합니다.

allocator trait·동등성·noexcept·iterator 무효화를 실제 타입과 표준 계약에 맞춥니다. std::move는 값 범주 변환이지 버퍼 강탈의 보증이 아닙니다. 큰 컨테이너에서 정상·예외 경로의 할당·원소 이동·원본 유효 상태를 시험합니다.

02

득점 포인트

이해가 드러나는 지점을 확인해 보세요.

  • 이동 대입에서 allocator가 전파되지 않고 서로 같지 않으면 한 컨테이너가 다른 allocator의 버퍼를 그대로 해제할 수 없어 원소별 이동이 필요할 수 있습니다. 생성·대입·명시 allocator overload의 규칙을 각각 확인합니다.
  • 큰 컨테이너에서 정상·예외 경로의 할당·원소 이동·원본 유효 상태를 시험합니다.
03

감점 포인트

놓치기 쉬운 조건과 오해를 짚어 보세요.

  • 다음 핵심 구분을 반대로 설명하거나 성립 조건을 생략한다: 이동 대입에서 allocator가 전파되지 않고 서로 같지 않으면 한 컨테이너가 다른 allocator의 버퍼를 그대로 해제할 수 없어 원소별 이동이 필요할 수 있습니다.
04

더 파고들 거리

하나 더 질문하며 이해의 범위를 넓혀 보세요.

득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.

원리부터 공부하고 싶다면

답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.

← 전체 질문 보기