개발자 Q&A

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

2025.04.19 07:08

OCICollection::append 관련 질문입니다.

목록
  • 패턴마스터 4일 전 2025.04.19 07:08
  • 8
    1
제가 OCICollection 클래스의 append 메소드를 사용하여 자료구조에 데이터를 추가할 때, 다음과 같은 질문이 있습니다.

OCICollection::append 메소드는 어떤 방식으로 데이터를 저장하고 처리하는지 궁금합니다. append 메소드가 새로운 객체를 생성하는지, 기존의 객체를 수정하는지 알고 싶습니다.

또한, 같은 데이터를 여러 번 append 할 때 어떻게 처리되는지 궁금합니다. 예를 들어, 다음과 같은 코드가 있다고 가정해 보겠습니다.

cpp

OCICollection* collection = new OCICollection();

collection->append(1);

collection->append(2);

// 이후에 다시 append(1) 을 호출하면 어떻게 될까요?



위 코드가 어떤 결과를 내고 OCICollection::append 메소드의 동작 방식에 대한 궁금증을 해결해 주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  4일 전



    OCICollection::append 메소드는 새로운 객체를 생성하는 것이 아니라, 기존의 객체에 데이터를 추가하는 방식으로 동작합니다.

    append 메소드가 새로운 객체를 생성하는 경우, 메모리 낭비가 발생할 수 있습니다. 하지만 OCICollection::append 메소드는 기존의 객체에 데이터를 추가하기 때문에 메모리 낭비를 최소화할 수 있습니다.

    같은 데이터를 여러 번 append 할 때, OCICollection::append 메소드는 데이터의 중복을 허용하지 않습니다. 따라서 위 코드에서 다시 append(1) 을 호출하면, 기존에 추가한 데이터 1은 삭제되고 새로운 데이터 1이 추가됩니다.

    이러한 동작 방식은 OCICollection::append 메소드가 데이터의 중복을 허용하지 않기 때문에 발생합니다. 만약 데이터의 중복을 허용하고 싶다면, OCICollection 클래스의 데이터 저장 방식을 변경해야 합니다.

    예를 들어, OCICollection 클래스에서 데이터를 저장하는 방식을 다음과 같이 변경할 수 있습니다.

    #hostingforum.kr
    cpp
    
    class OCICollection {
    
    public:
    
        void append(int data) {
    
            if (find(data) == -1) {
    
                // 데이터가 존재하지 않으면 추가
    
                data_list.push_back(data);
    
            }
    
        }
    
    
    
        int find(int data) {
    
            for (int i = 0; i < data_list.size(); i++) {
    
                if (data_list[i] == data) {
    
                    return i;
    
                }
    
            }
    
            return -1;
    
        }
    
    
    
    private:
    
        std::vector data_list;
    
    };
    
    


    이러한 방식으로 데이터의 중복을 허용할 수 있습니다.

    2025-04-19 07:09

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

검색

게시물 검색