목록C++ 개념 공부/STL (9)
Taene's
- vector는 배열과 비슷하게 사용할 수 있고 map을 사용할때 iter->first는 키값을 가리키고 iter->second는 밸류값을 가리킨다. vector 변수명백터 생성 vector 변수명(숫자)숫자만큼 백터 생성 후 0으로 초기화 vector 변수명 = { 변수1, 변수2, 변수3... }백터 생성 후 오른쪽 변수 값으로 초기화 vector 변수명[] = {, } 백터 배열(2차원 백터)선언 및 초기화(열은 고정, 행은 가변) vector> 변수명 2차원 백터 생성(열과 행 모두 가변) vector변수명.assign(범위, 초기화할 값) 백터의 범위 내에서 해당 값으로 초기화 v.begin() 백터 시작점의 주소 값 반환 v.end() 백터 (끝부분 + 1) 주소값 반환 v.rbe..
- 학생 정보를 관리하는 간단한 응용 프로그램 구현#include #include //ostringstream 사용#include #include templateclass dynamic_array{ T* data; int n;public: //배열크기를 인자로 받는 생성자 dynamic_array(int n) { this->n = n; data = new T[n]; } //복사 생성자 dynamic_array(const dynamic_array& copy) { this->n = copy.n; this->data = new T[n]; for (int i = 0; i operator+(const dynamic_array& arr1, dynamic_array& arr2) { dynamic_ar..
- 헤더파일 #include - ofstream: output file stream, 파일로 데이터를 출력할 때 사용하는 클래스(파일에 내용을 적음, write) - ifstream: input file stream, 파일 입력할 때 사용하는 클래스(파일에서 내용을 읽음, read) - fstream: ofstream과 ifstream을 합친, 둘 다 사용가능한 클래스 ofstream ofile("log.txt");//ofstream형 ofile변수선언, log.txt 생성(초기화) /* ofstream ofile; ofile.open("log.txt");//open()함수로 초기화 하는 법 */ ofile
0. memset 정의- memory+setting(메모리를 특정값으로 세팅해주는 함수) 1. memset 함수 원형//함수 원형void* memset(void* ptr, int value, size_t num);- 첫번째 인자 void* ptr은 세팅하고자 하는 메모리의 시작 주소이다. 즉, 그 주소를 가리키고 있는 포인터가 위치하는 자리이다. 보통 배열의 이름을 넣는다.- 두번째 인자 value는 메모리에 세팅하고자 하는 값을 집어 넣으면 된다. int 타입으로 받지만 내부에서는 unsigned char 로 변환되어서 저장된다. 즉, 'a'와 같은 char 형태로 넣어도 된다.※ memset 함수는 1byte단위로 값을 초기화하기 때문에 4byte로 표현된 int 숫자 1은 제대로 된 숫자로 표현될 ..
- map은 각 노드가 key와 value 쌍으로 이루어진 트리이다.(중복 허용 x)- map은 first, second가 있는 pair 객체로 저장되는 데 first- key로 second- value로 저장된다.- C++의 map의 내부 구현은 검색, 삽입, 삭제가 O(logn) 인 레드블랙트리로 구성되어 있다.map map1; - map은 자료를 저장할때 내부에서 자동으로 정렬한다.- map은 key를 기준으로 정렬하며 오름차순으로 정렬한다.- 내림차순으로 정렬하고 싶은 경우: map map1; (만약 다른 방법으로 int데이터를 내림차순으로 정렬하고 싶을 경우, 데이터에 '-'를 붙여 삽입하여 처리하면 내림차순으로 정렬된다.) 1. 헤더 포함- map을 사용하려면 헤더에 #include 처리..
- 스택(Stack)은 대표적인 LIFO(Last In First Out) 구조이고, 제일 마지막에 넣은 데이터가 처음으로 빠져나온다. - 스택의 기본함수에는 push, pop, empty, top, swap 등이 있다. #include stack stack1;stack stack2; - 스택에 데이터 추가스택이름.push(데이터) 형태로 데이터를 추가한다. stack.push(element) - 스택에 데이터 삭제스택이름.pop(데이터) 형태로 스택의 top 데이터를 삭제한다. (스택이 비어있는데 함수를 호출하면 런타임 에러 발생)stack.pop() - 스택의 제일 위의 데이터 반환스택이름.top() 형태로 제일 최상위 데이터를 반환한다. (스택이 비어있는데 함수를 호출하면 런타임 에러 발생)sta..