태그: 배열
4편
-
C++ 배열: 메모리 레이아웃, std::array, 캐시 최적화
C 배열이 함수 인자로 넘어갈 때 포인터로 쇠퇴하는 규칙과 2차원 배열의 함정, std::array 설계와 C 배열·vector의 선택 기준, 행 우선 레이아웃에 맞춘 캐시 친화 순회, C++23 std::mdspan까지 다룹니다.
-
C++ C 배열 vs std::array vs vector: 성능과 안전성 비교
C 스타일 배열, std::array, std::vector를 크기 고정 여부, 스택·힙 배치, 범위 검사 관점에서 비교하고, 접근·생성·순회 비용이 어디서 갈리는지 설명합니다. operator[]와 at()의 차이, 함수로 넘길 때 크기 정보가 사라지는 문제도 다룹니다.
-
C++ std::vector 기초: 생성·삽입·삭제와 배열 대신 쓰는 이유
크기가 고정되고 범위 검사도 없는 C 배열 대신 std::vector를 쓰는 이유를 선언, 추가·삭제, operator[]와 at() 차이, 2차원 벡터, sort·find 예제로 보여줍니다. size()를 int로 받는 실수, 반복 중 삭제, reserve와 resize 혼동도 다룹니다.
-
C++20 std::span 심화: 정적·동적 extent, subspan, 읽기 전용 뷰
C++20 std::span의 동적 크기와 정적 크기(extent) 차이, subspan·first·last로 부분 범위를 자르는 법, span<const T>로 읽기 전용 뷰를 만드는 법을 행렬 연산·슬라이딩 윈도우·이미지 처리 예제로 익힙니다. 임시 객체로 생기는 댕글링 span도 짚습니다.