[내일배움캠프 Day12] 반복자와 포인터
·
내일배움캠프/TIL
반복자에 대해 ' 포르잔 C++ 바이블' 책을 통해 기본적인 내용을 정리했습니다.https://dev0404.tistory.com/31 [C++] 반복자(iterator)1. 반복자 구조반복자(iterator)는 포인터를 추상화한 것입니다. 포인터는 C++이 제공하는 문법이므로 추가적인 제한을 걸거나 기능을 추가할 수 없지만 반복자라는 객체로 포인터를 추상화하면,dev0404.tistory.com추가로 ' 266가지 문제로 정복하는 코딩 인터뷰 in C++' 책의 반복자에 대한 내용을 정리하겠습니다. 예시는 제가 짠 코드로 틀린 내용이 있을 수도 있습니다.  반복자와 포인터의 유사점과 차이점을 설명하라해법 : 둘 다 값을 얻기 위해 역참조할 수 있다는 점에서 비슷하다. 차이점은 다음과 같다1. 포인터는 ..
[C++] 반복자(iterator)
·
C++
1. 반복자 구조반복자(iterator)는 포인터를 추상화한 것입니다. 포인터는 C++이 제공하는 문법이므로 추가적인 제한을 걸거나 기능을 추가할 수 없지만 반복자라는 객체로 포인터를 추상화하면, 추가적인 제한을 걸거나 기능을 추가할 수 있습니다.또한 반복자를 사용하면 컨테이너의 내부 구조를 사용자에게 숨기고, 사용만 하게 만들 수 있습니다. 대부분의 컨테이너는 내부적으로 조작할 수 없는 내부 반복자를 갖고 있습니다. 그리고 사용자는 외부 반복자를 사용해서 컨테이너 내부의 요소에 접근합니다. 내부 반복자는 외부 반복자를 처리할 때 사용됩니다. 2. 반복자 종류반복자는 입력 반복자, 출력 반복자, 전방 반복자, 양방향 반복자, 임의 접근 반복자로 구분합니다.입력 반복자입력 반복자(input iterator..
[내일배움캠프 Day11] 템플릿
·
내일배움캠프/TIL
일반화는 여러 상황에 적용할 수 있는 프로그램 하나를 만들 때 사용할 수 있는 방법입니다. C++는 이런 과정을 템플릿 프로그래밍 혹은 제네릭 프로그래밍이라고 부릅니다. 함수 템플릿1. 함수 템플릿 사용함수 템플릿 문법템플릿 자료형 위치에 플레이스홀더(placeholder)을 사용합니다. T, U, …, Z 등의 플레이스홀더가 실제 자료형으로 대체됩니다.templateT 함수_이름(U first, ... Z last){ ...}템플릿 헤더는 template 키워드와 괄호로 구성됩니다. 괄호에는 함수 내부에서 사용할 자료형 목록의 심볼을 지정합니다.만약 값으로 전달이 아니라 참조로 전달로 코드를 작성하고 싶다면, T를 T&로 변경하기만 하면 됩니다./*****************************..
[내일배움캠프 Day10] 메모리 관리
·
내일배움캠프/TIL
1.메모리 영역C++ 환경은 메모리를 효율적으로 관리하기 위해서 메모리를 여러 영역으로 나눕니다 2.코드 메모리코드 메모리(code memory)는 프로그램 코드를 보유하는 영역입니다. 프로그램이 실행될 때 C++ 실행 환경은 코드 메모리 위에 있는 문장을 하나하나 실행합니다. 코드 메모리는 프로그램이 종료될 때 해제됩니다. 3.정적 메모리정적 메모리(static memory)는 전역 객체(global object)(전역 객체는 어떤 함수에도 속하지 않는 함수 외부에 있는 객체)**와 정적 객체(static object)**를 보유하는 영역입니다. 프로그램이 종료되면 모든 객체들을 정리하고 메모리 위에서 해제합니다./*************************************************..