반응형

프로그래밍 44

[c++ STL] Map 기본 사용법 및 예제

map은 key와 value의 쌍으로 이루어진 연관 컨테이너 입니다. key는 순서를 지정하는데 사용되며 value는 key에 연결이 됩니다. 선언방법을 알아봅시다. #include 먼저 전처리기에 include를 해야합니다. int형의 키와 stirng의 value를 저장하는 ts_map라는 이름의 map를 만든다고 한다면 map ts_map; 이런식으로 선언을 하면 됩니다. 사용방법을 알아 봅시다. key에 value를 연결하는 형식으로 값을 넣어주며 여러가지 방법이 있습니다. 기본적으로 insert를 사용하여 값을 넣어줄때에는 pair를 만들어주어서 삽입하는 방식이 있습니다. ts_map.insert(make_pair(key,value)); pair를 직접 만들어서 삽입하는 방식도 있습니다. ts_..

[c++ STL] List 기본 사용법 및 예제

list는 컨테이너의 모든 위치에서 접근이 가능한 컨테이너 입니다. 양방향으로 빠른 삽입 및 삭제가 가능합니다. 하지만 컨테이너의 요소에 임의로 접근할 수 없습니다. 선언방법을 알아봅시다. #include 먼저 전처리기에 include를 해야합니다. int형의 자료를 저장하는 int_list라는 이름의 list를 만든다고 한다면 list int_list; 이런식으로 선언을 하면 됩니다. 사용방법을 알아 봅시다. 양쪽으로 접근이 가능하기 때문에 앞에 자료를 저장할 때는 push_front를 사용합니다. int_list.push_front(넣을 자료); 뒤에 자료를 저장할 때는 push_back를 사용합니다. int_list.push_back(넣을 자료); 지우는방법은 erase를 사용합니다. 이때 원하는 ..

[c++ STL] Stack 기본 사용법 및 예제

stack는 위에 일렬로 데이터를 쌓는 방식의 자료구조 입니다. 맨위의 데이터를 출력하며 삭제도 맨위의 데이터를 삭제하게됩니다. 그래서 제일 최근에 저장한 데이터가 출력이 되며 삭제도 제일 최근에 저장한 데이터가 삭제됩니다. 선언방법을 알아봅시다. #include 먼저 전처리기에 include를 해야합니다. int형의 자료를 저장하는 int_stack라는 이름의 stack를 만든다고 한다면 stack int_stack; 이런식으로 선언을 하면 됩니다. 사용방법을 알아 봅시다. 한쪽으로만 접근이 가능하기 때문에 push로만 데이터를 저장합니다. int_stack.push(넣을 자료); 이런식으로 사용 하시면 됩니다. 지우는방법도 마찬가지로 pop으로만 삭제가 가능합니다. int_stack.pop(넣을 자료..

[c++ STL] Queue 기본 사용법 및 예제

queue는 뒤에 일렬로 데이터를 저장하는 방식의 자료구조 입니다. 맨앞의 데이터를 출력하며 삭제도 맨앞의 데이터를 삭제하게됩니다. 그래서 제일 처음 저장한 데이터가 출력이 되며 삭제도 제일 처음 저장한 데이터가 삭제됩니다. 선언방법을 알아봅시다. #include 먼저 전처리기에 include를 해야합니다. int형의 자료를 저장하는 int_queue라는 이름의 queue를 만든다고 한다면 queue int_queue; 이런식으로 선언을 하면 됩니다. 사용방법을 알아 봅시다. 한쪽으로만 접근이 가능하기 때문에 push로만 데이터를 저장합니다. int_queue.push(넣을 자료); 이런식으로 사용 하시면 됩니다. 지우는방법도 마찬가지로 pop으로만 삭제가 가능합니다. int_queue.pop(넣을 자료..

[c++ STL] Deque 기본 사용법 및 예제

deque는 양쪽에서 접근이 가능한 큐입니다. 선언방법을 알아봅시다. #include 먼저 전처리기에 include를 해야합니다. deque int_deque; 이후에 이런식으로 선언이됩니다. 사용방법을 알아 봅시다. 양쪽으로 접근이 가능하기 때문에 push_front와 push_back이 가능합니다. int_deque.push_front(넣을 자료); 이런식으로 사용 하시면 됩니다. 지우는방법도 마찬가지로 pop_front와 pop_back이 있습니다. pop_front는 맨앞의 자료를 지우고 pop_back은 반대로 맨뒤의 자료를 지웁니다. 안의 모든 데이터를 지우는 방법도 있습니다. clear를 사용하면 안의 모든 데이터를 지울 수 있습니다. int_deque.clear(); 이런식으로 사용하시면 ..

[c++ STL] vector 의 반복자 사용법

vector의 반복자 사용법을 알아보도록 하겠습니다. 반복자는 벡터의 시작부터 끝까지 순회를 하는 일반화된 방법을 제공해줍니다. 일단 선언부터 알아보겠습니다. vector vec; vector::iterator iter; 위에는 반복을 시킬 벡터를 선언했고요 아래는 반복자를 선언한 것 입니다. 반복자는 반복을 시킬 벡터와 같은 자료형을 가져야 합니다. 간단하게 순회 방법을 알아보도록 하겠습니다. for(iter = vec.begin(); iter != vec.end(); iter++) 다음과 같이 for을 사용하여 주로 순회를 진행합니다. 이제 역방향 반복자를 알아보도록 하겠습니다. 역방향 반복자의 선언 방법입니다. vector::reverse_iterator riter; 역방향 반복자의 순회 방법입니다..

[c++ STL] Vector 기본 사용법 및 예제

c++로 알고리즘 문제를 풀다보면 어쩔 수 없이 만나는 STL 그 중에서 가장 기본이 되는 시퀀스 컨테이너에서 또 기본이 되는 vector를 사용하는 방법을 알아보도록 하겠습니다. 기본적으로 선언을 하는 방법을 알아 봅시다. #include 전처리기에 벡터를 사용한다고 알려주시고! vector 벡터이름 이런 형식으로 사용해 주시면 되겠습니다! int형의 자료를 저장하는 int_vector라는 vector를 선언하는 것을 예로 들면 vector int_vector; 이렇게 선언해주시면 됩니다. 선언 방법을 알았으니 사용법을 알아 봅시다. vector int_vector; 이런 식으로 선언을 해주었으면 이 벡터에 자료를 넣을 준비 된 것입니다. int 형이니까 정수를 넣을 수 있겟죠! 간단하게 1,2,3을 ..

[c++] 템플릿(template) 함수 및 클래스

템플릿함수란 똑같은 내용의 함수을 자료형에따라 오버로딩할 필요 없이 한번에 뭉쳐서 정의하는 함수이다.일반적으로 자료형을 뭉쳐놓은것을 템플릿이라고 이해하면 쉽게 이해가 될 것 같다.함수에서 사용하면 템플릿 함수가 되는것이고, 클래스에서 사용하면 템플릿 클래스가 된다.먼저 템플릿 함수에 대해서 알아보자. 1234567891011121314151617181920212223template void print(T data) //템플릿 함수 정의{ cout

프로그래밍/c++ 2018.12.20

[c++] virtual(가상함수,순수가상함수)

c++에서는 virtual 키워드를 통하여 가상함수와 순수가상함수를 정의할수 있다.먼저 가상함수와 일반함수의 차이점을 알아보자.일반함수는 상속된 자식class에서 오버라이드를 통한 재정의가 불가능하지만가상함수는 상속된 자식class에서 오버라이드를 통한 재정의가 가능하다. 1234567891011121314151617181920212223242526272829303132333435class Animal {//부모class public: void howl() { cout

프로그래밍/c++ 2018.12.19

[c++] class의 상속 (부모class 및 자식class)

상속이란 하나의 class의 내용을 다른 class에서 사용할 수 있게 하는것이다.사용되어지는 주체를 부모 class라고 하며, 사용을 하는 클래스를 자식 class라고 한다.1234567891011121314151617181920class p_class {// 부모classpublic: int p_int; p_class() { this->p_int = 1; }}; class c_class : public p_class {//자식class에 부모class int get_p_int() { return p_int; }}; int main(){ c_class c; std::cout

프로그래밍/c++ 2018.12.19
반응형