[C++] 반복자란? #23
1. 반복자란? 반복자는 컨테이너에 저장된 값들을 순차적으로 순회해주는 객체입니다. 반복자는 이전 블로그에서 다룬 범위 기반 반복문에서도 사용됩니다. 따라서 범위 기반 반복문은 반복자가 존재하는 객체에만 사용할 수 있습니다. 2. 반복자 만들기 반복자는 개념만 이해하고 넘어가는 경우가 대부분이지만, 이 블로그에서는 반복자를 생성해볼 예정입니다. 반...
1. 반복자란? 반복자는 컨테이너에 저장된 값들을 순차적으로 순회해주는 객체입니다. 반복자는 이전 블로그에서 다룬 범위 기반 반복문에서도 사용됩니다. 따라서 범위 기반 반복문은 반복자가 존재하는 객체에만 사용할 수 있습니다. 2. 반복자 만들기 반복자는 개념만 이해하고 넘어가는 경우가 대부분이지만, 이 블로그에서는 반복자를 생성해볼 예정입니다. 반...
1. 프렌드 함수의 필요성 프렌드 함수는 private 속성이나 `protecte 속성에 멤버 함수가 아닌 함수가 접근하기 위해 사용됩니다. 2. 프렌드 함수 사용법 프렌드 함수는 friend 키워드를 붙여 아래와 같이 사용할 수 있습니다. #include <iostream> #include <string> using nam...
1. 디폴트 인수의 필요성 디폴트 인수는 함수의 매개변수로 인자가 전달되지 않았을 경우 기본적으로 할당되는 값입니다. 디폴트 인수를 사용하면 특정 상황에서 코드를 조금 간결하게 작성할 수 있습니다. 2. 디폴트 인수 사용법 디폴트 인수는 아래와 같이 설정하고 사용합니다. #include <iostream> using namespace ...
1. 기존의 배열 반복문 C언어에서는 배열을 반복하기 위해선 아래와 같이 반복할 인덱스를 선언하는 방법으로 해야 했습니다. #include <iostream> #include <array> using namespace std; int main() { array<int, 10> arr = { 5, 12, 45...
1. 람다 함수의 필요성 C++에서는 함수를 인자로 전달하는 경우가 있습니다. 예를 들어, algorithm 헤더 파일에 있는 sort라는 함수의 경우 인자로 이터레이터 2개와 함수를 받습니다. #include <iostream> #include <algorithm> using namespace std; int cmp(int...
1. 인라인 함수의 필요성 C++에서 함수를 호출하는 과정은 복잡하기 때문에 시간이 오래걸립니다. 하지만, 인라인 함수를 사용한다면 함수의 호출 시간을 단축시킬 수 있다는 장점이 있습니다. 2. 인라인 함수의 선언 인라인 함수는 아래 코드와 같이 선언합니다. #include <iostream> using namespace std; ...
1. 스트림이란? C++은 stream이라는 것으로 파일이나 콘솔의 입출력을 다룹니다. stream은 실제 입력이나 출력이 표현된 데이터의 흐름을 의미합니다. 따라서 stream은 운영체제로 인해 생겨, 프로그램과 입출력 기기 사이를 연결해주는 역할을 합니다. 2. 버퍼란? 버퍼는 스트림 내부에 존재하는 임시 메모리 공간입니다. 버퍼를 이용하면 입력...
1. 함수 포인터란? 함수 또한 메모리 어딘가에 함수가 저장되고 있습니다. 따라서 그 함수의 위치를 가르키는 것이 함수 포인터 입니다. 2. 함수의 주소 확인하기 함수의 주소를 확인하는 방법은 일반 변수의 주소를 확인하는 것과 비슷합니다. #include <stdio.h> void sayHello() { printf("Hello...
1. 참조자를 쓰는 이유 참조자는 특정 변수의 별명처럼 사용되어, 그 변수가 가르키는 메모리를 동일하게 가르킵니다. 따라서 함수의 값을 전달할 때 유용하게 사용할 수 있습니다. 2. 참조자의 선언 참조자의 선언은 자료형 뒤에 & 연산자를 붙여주면 됩니다. int main() { int number = 10; int&a...
1. 스마트 포인터의 필요성 C++에서 new 연산자를 이용해서 할당받은 메모리는 delete 연산자로 해제하지 않는 경우 메모리 누수가 발생합니다. 이러한 상황을 막기 위해 C++에서는 메모리를 자동으로 해제해주는 스마트 포인터를 지원하고 있습니다. 2. 스마트 포인터 사용법 스마트 포인터는 대표적으로 unique_ptr이 있습니다. 아래 코드는 ...