본문 바로가기

반응형

개발자/C++(Linux, Window)

[C++] 연산자 오버로딩 이번시간에는 연산자 오버로딩에 대해 알아보도록 하겠습니다. ☞ 연산자 오버로딩이란 기존의 제공하고 있는 연산자를 재정의하여 사용자 정의 클래스로 사용하는 것을 말합니다. 대부분의 기본 제공 연산자 함수는 전역 함수 또는 클래스로 재정의 가능합니다. 오버로드 된 연산자는 함수로 구현됩니다. ☞ 연산자 오버로드에 대한 일반 규칙 **과 같은 새로운 연산자를 정의할 수는 없습니다. 기본 제공 데이터 형식에 적용할 때 연산자의 의미를 다시 정의 할 수 없습니다. 오버로드 된 연산자는 비정적(non-static) 클래스 멤버 함수거나 전역 함수이어야 합니다. (private 또는 protected 접근자의 전역 함수는 해당 클래스의 friend로 선언해야 합니다.) 단항 연산자 또는 이항 연산자(&, *, +, .. 더보기
[C++] Iterator에 대해서 반복자 iterator의 개념 반복자는 포인터와 상당히 비슷하다. 컨테이너에 저장되어 있는 원소들을 참조할 때 사용한다. 포인터와 비슷한 객체이다. 반복자는 컨테이너에 저장된 원소를 순회하고 접근하는 일반화된 방법을 제공한다. 반복자는 컨테이너와 알고리즘이 하나로 동작하게 묶어주는 인터페이스 역할을 한다. 알고리즘마다 다른 방식으로 컨테이너를 순회할 수 있기 때문에 반복자에도 여러 종류가 있다. An iterator is an object that can "iterate" (navigate) over elements. - The C++ Standard Library 반복자는 컨테이너 내부의 원소(객체)를 가리키고 접근할 수 있어야 한다. 반복자는 다음 원소로 이동하고 컨테이너의 모든 원소를 순회할 수 있.. 더보기
[C++][STL] map 정리 Intro 안녕하세요. 오늘은 C++ STL Associative Container 중 하나인 map에 대해 알려드리겠습니다. 목차 1) Map이란? 2) Map 기본 형태 3) Map 정렬 4) Map 사용방법 - 헤더 포함 - map 선언 - search : map에서 데이터 찾기 - insert : map에서 데이터 삽입 - for : 반복문 사용하기(인덱스 기반, 범위 기반) - delete: map에서 데이터 삭제 - code : 전체 코드 1) Map이란? map은 각 노드가 key와 value 쌍으로 이루어진 트리입니다. 특히, 중복을 허용하지 않습니다. 따라서 map은 first, second가 있는 pair 객체로 저장되는 데 first- key로 second- value로 저장됩니다. .. 더보기
[C++] STL pair 클래스(퍼옴) 🦥 Pair란? 두 객체를 하나로 묶어주는 클래스로, 쌍을 표현할 때 사용 좌표 평면에서 (x, y)를 묶어주는 것과 같을 때 사용하면 되겠다. #include 🦥 생성자와 초기화 만약 int와 string을 쌍으로 하는 pair을 생성하려고 한다면 1. 선언 후 초기화 #include pair p; p.first = 1; p.second = "choiiis"; 2. make_pair #include pair p = make_pair(1,"choiiis"); 3. 그 외의 초기화 방법 #include pair p1(1, "choiiis"); pair p2(a); 🦥 원소는 first, second로 pair의 두 객체 중 첫 번째 원소는 first로, 두 번째 원소는 second라고 한다. 따라서, p... 더보기