C++
명품 C++ 프로그래밍 정리
https://velog.io/@5p2rs5/series/%EB%AA%85%ED%92%88CPP%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D 시리즈 | 명품CPP프로그래밍 - 5p2rs5.log 실생활에 존재하는 모든 것멤버 변수와 멤버 함수로 구성된다.객체를 구성하는 정의하는 틀, 구성도멤버 변수와 멤버 함수를 선언한다.클래스의 멤버를 외부에 공개하여 다른 클래스가 접근이 velog.io
1. vector 컨테이너
vector 컨테이너는 대표적인 시퀀스 컨테이너로 배열과 비슷하여 사용이 쉬우므로 자주 사용된다 vector의 주요 인터페이스와 특징 vector의 주요 기능 vector는 시퀀스 컨테이너이므로 원소의 저장 위치(순서)가 정해지며 배열 기반 컨테이너이므로 원소가 하나의 메모리 블록에 할당된다 시퀀스 컨테이너는 차례차례 원소를 추가하고 제거하는 push_back()과 pop_back()을 가지며, 첫 원소와 마지막 원소를 참조하는 front()와 back()을 가진다. 또한, 지정한 위치에 원소를 삽입할 수 있는 insert()를 가진다. vector는 앞쪽이 막혀 있는 형태로 앞쪽에는 원소를 추가/제거할 수 없으며 뒤쪽에만 추가/제거 할 수 있다. 다른 시퀀스 컨테이너 (list, deque)는 앞쪽에 ..
2. STL을 한눈에
컨테이너 컨테이너 같은 타입을 저장, 관리할 목적으로 만들어진 클래스 컨테이너는 2가지로 나뉨 (총 7가지 컨테이너) 표준 시퀀스 컨테이너 (standard sequence container) 컨테이너 원소가 자신만의 삽입 위치(순서)를 가지는 컨테이너 삽입되는 순서에 따라 원소의 위치가 결정되고 바뀌지 않음 3가지 : vector, deque, list : 선형적 표준 연관 컨테이너 (standard associative container) 저장 원소가 삽입 순서와 다르게 특정 정렬 기준에 의해 자동 정렬되는 컨테이너 삽입 순서와 상관없이 정렬 기준(디폴트 less)에 따라 원소의 위치가 결정 4가지 set, multiset, map, multimap : 비선형적 string 컨테이너 시퀀스 컨테이너의..
1. STL이란
STL은 C++ 표준 라이브버리의 일부분으로 Standard Template Library의 약자 STL은 프로그램에 필요한 자료구조와 알고리즘을 템플릿으로 제공하는 라이브러리 또한, 자료구조와 알고리즘은 서로 반복자라는 구성 요소를 통해 연결됨 STL의 구성요소 컨테이너 반복자 알고리즘 함수 객체 어뎁터 할당기 STL의 3가지 특징 효율성 일반화 프로그램(재사용성) 확장성 STL은 이 세 특징에 중점을 두고 개발된 라이브러리 STL 알고리즘은 너무나도 일반적 => 특정한 자료구조와 형식에 종속 x
2. 함수 호출 시 객체 전달
'값에 의한 호출'로 객체 전달 '값에 의한 호출' 과정 '값에 의한 호출'로 객체를 전달할 때 문제점 왜 매개 변수 객체의 생성자가 실행되지 않도록 컴파일 되는가? '주소에 의한 호출'로 객체 전달 '주소에 의한 호출' 과정 '주소에 의한 호출'의 특징
1. 함수의 인자 전달 방식 리뷰
인자 전달 방식(argument passing) 값에 의한 호출 (call by value) : 호출하는 코드에서 넘겨주는 실인자 값이 함수의 매개 변수에 복사되어 전달되는 방식 주소에 의한 호출 (call by address) : 주소를 직접 포인터 타입의 매개 변수에 전달받는 방식 => 함수 호출 시 배열이 전달되는 경우, 배열의 이름이 전달되므로 자연스럽게 '주소에 의한 호출'이 이루어짐 '값에 의한 호출'과 '주소에 의해 호출'의 특징