태그: array
5편
-
Swift 컬렉션 내부 | Array·Dictionary·Set과 Copy-on-Write
Swift의 Array·Dictionary·Set을 만들고 map·filter·reduce, flatMap, 슬라이스로 변환하는 방법과 함께, 값 타입인 컬렉션이 힙 버퍼를 공유하다 쓰기 순간에만 복사하는 Copy-on-Write 동작을 직접 구현해 봅니다. 그룹핑·빈도 세기·lazy 패턴도 담았습니다.
-
JavaScript 배열과 객체: 자주 쓰는 Array·Object 메서드
push·splice·find·map·filter·sort 같은 배열 메서드와 Object.keys·entries·assign 정적 메서드, 배열·객체 구조 분해, spread와 rest 연산자, reduce 심화와 메서드 체이닝을 데이터 변환 예제로 익힙니다.
-
C++ C 배열 vs std::array vs vector: 성능과 안전성 비교
C 스타일 배열, std::array, std::vector를 크기 고정 여부, 스택·힙 배치, 범위 검사 관점에서 비교하고 접근·생성·순회 벤치마크로 성능 차이를 확인합니다. operator[]와 at()의 차이, 함수로 넘길 때 크기 정보가 사라지는 문제도 다룹니다.
-
C++20 std::span: 배열·vector·array를 하나의 비소유 뷰로 받기
배열, std::vector, std::array를 받는 함수를 따로 만들지 않고 C++20 std::span 하나로 받는 방법을 설명합니다. span이 포인터와 길이만 가진 비소유 뷰라서 복사가 싸다는 점, 부분 범위와 2D 배열 다루기, 수명과 const 관련 실수를 예제로 봅니다.
-
C++ 집합체 초기화: 집합체 조건, 중괄호 초기화, C++20 지정 초기화 순서 규칙
C++ 집합체가 되기 위한 조건과 중괄호로 구조체·배열·중첩 구조체를 초기화하는 방법, C++20 지정 초기화의 순서 규칙과 기본값 처리, 설정 구조체와 테스트 데이터에 집합체를 활용하는 패턴을 예제로 설명합니다.