IT박스

Java ArrayList의 C ++ 버전은 무엇입니까?

itboxs 2020. 11. 11. 08:24
반응형

Java ArrayList의 C ++ 버전은 무엇입니까?


C ++를 다시 사용하고 최근에 작성한 간단한 Java 프로그램을 변환하려고합니다.

C ++의 Java ArrayList에 해당하는 것이 선호되는 것은 무엇입니까?


표준 라이브러리 std::vector클래스사용하십시오 .


여기에서 몇 가지 추가 포인트를 다시 사용 vector합니다.

Java 와 달리 ArrayList, Arrayvector배열 로 취급하기 위해 특별한 작업을 수행 할 필요가 없습니다 . C ++의 기본 스토리지는 연속적이고 효율적으로 인덱싱 할 수 있습니다.

와 달리 ArrayLista vector는 완전한 객체로 캡슐화하지 않고도 기본 유형을 효율적으로 보유 할 수 있습니다.

에서 항목을 제거 할 때 제거 vector된 항목 위의 항목을 아래로 이동하여 연속적인 저장 공간을 유지해야합니다. 이것은 대형 컨테이너의 경우 비용이 많이들 수 있습니다.

vector복사 생성자와 할당 연산자가 효율적인에 복잡한 객체를 저장하는지 확인하십시오 . 내부적으로 C ++ STL은 컨테이너 하우스 키핑 중에이를 사용합니다.

reserve()나중에 확장 할 때 메모리 재 할당을 최소화하기 위해 스토리지를 사전에 (즉, 벡터 생성 또는 초기화시) Java에서 C ++로 전달하는 것에 대한 조언 .

참고 URL : https://stackoverflow.com/questions/3971049/whats-the-c-version-of-javas-arraylist

반응형