일상 업무 중에는 팀의 선임 구성원이 캐시 친화적이지 않기 때문에 항상 조언을 듣고 있습니다. vector
. 나는 list
이 연속적이 아니므로 메모리 할당이 전체 메모리에 흩어져 있다는 것을 이해합니다.사용자 정의 할당자를 사용하여 std :: list 캐시를 쉽게 사용할 수있게 만드시겠습니까?
그러나 매우 자주 나는 list
(또는 map
)의 기능이 필요합니다. 그래서 내가 vector
밑에 내 자신의 할당자를 쓸 수 있는지 궁금합니다. 내가 push_back
일 때마다, 내 자신의 할당자는 vector
할당에서 새 항목을 할당합니다.
list
/map
을 여행 할 때 캐시 위치가 보존됩니다.
누구에게도 의미가 있습니까?
'std :: list'는 연관 컨테이너가 아닙니다. – juanchopanza
당신이 찾고있는 것을 스택 할당 자라고 부릅니다 – NathanOliver
확실한 질문 : 왜 그냥 '벡터'를 사용하지 않으시겠습니까? 이 구조는'벡터 '가 제공하지 않는 것은 무엇입니까? 'vector'보다는'list'에서 더 효율적인 기능을 사용하려고하면 메모리가 누출됩니다. – user2357112