문제

Python List와 C ++ 벡터 간의 유사점에 대해 읽었으며 유일한 차이가 파이썬 목록이 이기종 인 것처럼 보입니다.다른 차이점이 있습니까?둘 다 어떻게 구현됩니까?

도움이 되었습니까?

해결책

두 파이썬 목록과 C ++ 벡터는 동적 배열로 구현됩니다 ( https://en.wikipedia.org/ wiki / dynamic_array ). (본질적으로 그들이 너무 작을 때 재배치되는 배열.) 이제 파이썬과 C ++ 버전 간의 중요한 차이점은 데이터 구조 자체에서 나오지 않고 언어로부터 오히려하지 않습니다.C ++에서는 구조체, 기본 데이터 유형 포인터 등을 벡터에서 저장할 수 있습니다.그러나 파이썬에서는 모든 것이 의미있는 포인터입니다.정수는 힙에 저장되며 "나는 정수"라는 주석이 첨부되어 있습니다.파이썬이 동적 유형 시스템을 가지고 있기 때문에 필요합니다.목록에 저장된 요소는 실제 요소에 대한 포인터입니다.이 메커니즘을 사용하면 파이썬이 동일한 목록에 다른 데이터 유형을 저장할 수 있습니다.이것은 파이썬이 더 느리지 않는 또 다른 이유입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top