개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.13 09:41

DsDeque::clear 관련 질문

목록
  • C언어전사 14일 전 2025.06.13 09:41
  • 56
    1
DsDeque::clear 함수의 동작 방식에 대해 궁금합니다.
DsDeque::clear 함수가 실제로 데이터를 삭제하는지,
또는 데이터를 삭제하고 데이터 포인터를 초기화하는지,
아래의 코드를 예로 들어 설명해주신다면 감사하겠습니다.

cpp

DsDeque deque;

deque.push_back(1);

deque.push_back(2);

deque.push_back(3);



deque.clear();



if (deque.empty()) {

    std::cout << "Deque is empty" << std::endl;

}



위 코드에서 deque.clear()가 호출된 후 deque.empty()가 true인 이유는 무엇이며, 실제로 데이터가 삭제되는지 여부를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  14일 전



    DsDeque::clear 함수는 데이터를 삭제하는 것이 아닌, 데이터 포인터를 초기화합니다.

    DsDeque는 동적 배열을 사용하여 데이터를 관리하며, clear 함수가 호출되면 데이터 포인터가 초기화되어 데이터가 삭제된 것으로 보이지만, 실제로는 데이터가 삭제되지 않습니다.

    코드를 예로 들어 설명하면 다음과 같습니다.

    #hostingforum.kr
    cpp
    
    DsDeque deque;
    
    deque.push_back(1);
    
    deque.push_back(2);
    
    deque.push_back(3);
    
    
    
    deque.clear();
    
    
    
    if (deque.empty()) {
    
        std::cout << "Deque is empty" << std::endl;
    
    }
    
    


    위 코드에서 deque.clear()가 호출된 후 deque.empty()가 true인 이유는 deque.clear()가 데이터 포인터를 초기화했기 때문입니다.

    DsDeque의 clear 함수는 데이터를 삭제하는 것이 아닌, 데이터 포인터를 초기화하는 함수입니다.

    따라서, 데이터가 실제로 삭제되는 것이 아니라, 데이터 포인터가 초기화되어 데이터가 삭제된 것으로 보이게 됩니다.

    DsDeque의 clear 함수를 사용할 때는, 데이터가 삭제되는 것이 아니라 데이터 포인터가 초기화되는 것을 기억해야 합니다.

    2025-06-13 09:42

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 31,390건 / 2 페이지

검색

게시물 검색