std::vector - return 0;
그 내부에서 먼 일을 하고 있는 지가 궁금했음 vector도 메모리 넘치면 기본적으로 새로 할당하는 방식 아닌가?
벡터가 할당된거 넘으려하면 새로 더크게 만들고 값들 복사하고 원래 있던거 파개 라고 배움
복사를 할 수도 있고 조건 맞으면 move를 한단다 - return 0;
얕은 복사를 했을 경우 문제가 발생하는데 그걸 어떻게 처리할 거냐가 질문이었습니다
그럼 깊은 복사 하십셔
의식의흐름마냥 댓글쌌다 개소리면 미안
C++에서만 발생하는 문제임. 다른 언어는 기본적으로 이렇게 로우레벨의 접근을 허용하지 않으니까. Vec이라는 자료구조가 내부적으로 Array를 가리키고 있고 용량 다 차면 버리고 빤쓰런하는 애라고 했을 때
Vec으로부터 새로운 Vec을 만들 때, cap, sz, ptr만 복사해서 새로운 Vec을 만드는 걸 허용한다고 하면
일차적으로 어떻게 sz를 동기화해줄 것이냐에 대한 질문이 생기고
빤쓰런 했을 때 남은 애는 머가 되냐?의 문제가 있음
빤쓰런 = 새로운 메모리 할당
rule of three를 니가 구현해놓으면 됨
sz를 왜 동기화해 뭔 개소리야 - return 0;
std::vector - return 0;
그 내부에서 먼 일을 하고 있는 지가 궁금했음 vector도 메모리 넘치면 기본적으로 새로 할당하는 방식 아닌가?
벡터가 할당된거 넘으려하면 새로 더크게 만들고 값들 복사하고 원래 있던거 파개 라고 배움
복사를 할 수도 있고 조건 맞으면 move를 한단다 - return 0;
얕은 복사를 했을 경우 문제가 발생하는데 그걸 어떻게 처리할 거냐가 질문이었습니다
그럼 깊은 복사 하십셔
의식의흐름마냥 댓글쌌다 개소리면 미안
C++에서만 발생하는 문제임. 다른 언어는 기본적으로 이렇게 로우레벨의 접근을 허용하지 않으니까. Vec이라는 자료구조가 내부적으로 Array를 가리키고 있고 용량 다 차면 버리고 빤쓰런하는 애라고 했을 때
Vec으로부터 새로운 Vec을 만들 때, cap, sz, ptr만 복사해서 새로운 Vec을 만드는 걸 허용한다고 하면
일차적으로 어떻게 sz를 동기화해줄 것이냐에 대한 질문이 생기고
빤쓰런 했을 때 남은 애는 머가 되냐?의 문제가 있음
빤쓰런 = 새로운 메모리 할당
rule of three를 니가 구현해놓으면 됨
sz를 왜 동기화해 뭔 개소리야 - return 0;