반응형
Java ArrayList의 C ++ 버전은 무엇입니까?
C ++를 다시 사용하고 최근에 작성한 간단한 Java 프로그램을 변환하려고합니다.
C ++의 Java ArrayList에 해당하는 것이 선호되는 것은 무엇입니까?
표준 라이브러리 의 std::vector
클래스 를 사용하십시오 .
여기에서 몇 가지 추가 포인트를 다시 사용 vector
합니다.
Java 와 달리 ArrayList
, Array
를 vector
배열 로 취급하기 위해 특별한 작업을 수행 할 필요가 없습니다 . C ++의 기본 스토리지는 연속적이고 효율적으로 인덱싱 할 수 있습니다.
와 달리 ArrayList
a vector
는 완전한 객체로 캡슐화하지 않고도 기본 유형을 효율적으로 보유 할 수 있습니다.
에서 항목을 제거 할 때 제거 vector
된 항목 위의 항목을 아래로 이동하여 연속적인 저장 공간을 유지해야합니다. 이것은 대형 컨테이너의 경우 비용이 많이들 수 있습니다.
vector
복사 생성자와 할당 연산자가 효율적인에 복잡한 객체를 저장하는지 확인하십시오 . 내부적으로 C ++ STL은 컨테이너 하우스 키핑 중에이를 사용합니다.
reserve()
나중에 확장 할 때 메모리 재 할당을 최소화하기 위해 스토리지를 사전에 (즉, 벡터 생성 또는 초기화시) Java에서 C ++로 전달하는 것에 대한 조언 .
참고 URL : https://stackoverflow.com/questions/3971049/whats-the-c-version-of-javas-arraylist
반응형
'IT박스' 카테고리의 다른 글
문제 해결 / 알고리즘 기술은 요령이거나 연습을 통해 개발할 수 있습니까? (0) | 2020.11.11 |
---|---|
모든 커밋에 대해 Git 리포지토리에서 디렉터리를 어떻게 이동할 수 있습니까? (0) | 2020.11.11 |
SQL Database 테이블에 datetime을 삽입하는 방법은 무엇입니까? (0) | 2020.11.11 |
MPI 통신에 MPI_Bcast 사용 (0) | 2020.11.11 |
스프링 인젝션 값을 정적 필드에 만드는 방법 (0) | 2020.11.11 |