이 레퍼런스의 모든 내용은 http://www.cplusplus.com/reference 의 내용을 기초로 하여, Microsoft 의 MSDN 과 Bjarne Stroustrup 의 책 <<The C++ Programming Language>> 를 참고로 하여 만들어졌습니다. 이는 또한 저의 개인적인 C++ 능력 향상과 ' 저의 모토인 지식 전파'를 위해 모든 이들에게 공개하도록 하겠습니다.
리스트(list) 는 헤더파일 <list> 에 정의된 순차 컨테이너의 한 종류로 원소들은 메모리 상에 선형으로 배열된다.
리스트 컨테이너는 보통 이중 연결 리스트 (doubly linked list)로 구현된다. 이중 연결 리스트를 이용하면 메모리 상의 임의의 위치에 원소를 저장하더라도 참조할 수 있게 된다. 왜냐하면 어떤 원소의 위치는 이전 원소와 다음 원소의 링크를 통해 따라서 추적해나갈 수 있기 때문이다.
덕분에 리스트는 아래와 같은 장점을 가진다.
컨테이너 임의의 위치에 원소의 삽입과 삭제가 가능하다 (상수 시간)
서로 다른 컨테이너 사이 나 컨테이너 내부에서 원소들 간의 이동이 매우 효율적이다. (상수 시간)
원소들을 앞에서 뒤로, 혹은 뒤에서 앞으로 참조해나갈 수 있다 (선형 시간)
다른 표준 순차 컨테이너 (vector, deque) 와 비교했을 때, 리스트는 원소의 삽입, 삭제, 그리고 컨테이너 내부에서의 원소들 간의 이동이 매우 효율적이다. 따라서 정렬 알고리즘 처럼 원소의 이동이 빈번하게 일어나는 곳에 적용하면 효율적이다. 특히 list::sort 함수와, 원소 이동 관련한 함수가 list::splice 가 기본적으로 제공되어서 편리하다.
하지만 리스트의 가장 큰 문제점은 원소들을 인덱스로 직접 참조하는 것이 비효율적이라는 것이다. 예를 들어서 리스트의 6 번째 원소를 참조하기 위해서는 리스트의 시작 부분으로 부터 링크를 하나씩 돌면서 찾아 나가야 한다.
뿐만 아니라, 링크 되는 다른 원소의 주소값을 보관해야 하기 때문에 추가적인 메모리가 사용된다는 것인데, 보관하는 원소에 크기가 작을 수 록 배보다 배꼽이 더 커지는 현상이 발생하게 된다. (원소의 주소값은 4 바이트인데, 보관하는 것은 1 바이트 원소라면 전체 메모리 사용의 80% 가 단순히 다음 원소의 주소값을 보관하는데 낭비된다)
다른 순차 컨테이너들 처럼 메모리 할당과 해제는 내부적으로 스스로 수행한다.
리스트는 C++ 표준 템플릿 라이브러리에서 아래와 같이 구현된다.
template<class T, class Allocator = allocator<T>>class list;
T : (보관하려는) 원소의 타입
Allocator : 어떠한 방식으로 메모리를 할당할지에 관련한 할당자(allocator) 타입을 나타낸다. 기본값으로 T 의 할당자 클래스 템플릿을 사용하며, Heap 에 할당하게 된다. 많은 경우 인자를 생략한다.
멤버 함수
생성자 : 리스트를 생성한다.
소멸자 : 리스트를 소멸한다.
operator= : 리스트의 내용을 복사한다.
반복자
begin : 시작 부분 (첫번째 원소) 을 가리키는 반복자를 리턴한다.
end : 끝 부분 (마지막 원소 바로 다음) 을 가리키는 반복자를 리턴한다.
rbegin : 역순으로 첫번째 (즉, 마지막 원소) 를 가리키는 반복자를 리턴한다.
rend : 역순으로 끝 부분 (즉, 첫번째 원소 바로 이전) 을 가리키는 반복자를 리턴한다.
{"5":{"cat_title":"1. C 언어가 뭐야?","chapter":"C 언어의 세계로","next_page":"6","prev_page":"231","publish_date":"2009-04-16","title":"씹어먹는 C 언어 - <1. C 언어가 뭐야?>","updated_date":"09/12/2018"},"6":{"cat_title":"2 - 1. C 언어가 본격 맛보기","next_page":"19","prev_page":"5","publish_date":"2009-04-17","tex_title":"C 언어 본격 맛보기","title":"씹어먹는 C 언어 - <2 - 1. C 언어 본격 맛보기>"},"7":{"cat_title":"3. 변수가 뭐지?","chapter":"변수 (variable)","next_page":"8","prev_page":"21","publish_date":"2009-04-22","title":"씹어먹는 C 언어 - <3. 변수가 뭐지? >"},"8":{"cat_title":"4. 계산하리","chapter":"계산 하기","next_page":"9","prev_page":"7","publish_date":"2009-04-24","title":"씹어먹는 C 언어 - <4. 계산하리 >"},"9":{"cat_title":"5. 문자 입력 받기","chapter":"문자 입력 받기","next_page":"10","prev_page":"8","publish_date":"2009-04-27","title":"씹어먹는 C 언어 - <5. 문자 입력 받기>"},"10":{"cat_title":"6. 만약에... (if 문)","chapter":"만약에... (조건문)","next_page":"12","prev_page":"9","publish_date":"2009-04-28","title":"씹어먹는 C 언어 - <6. 만약에...(if 문)>"},"12":{"cat_title":"7. 뱅글 뱅글 (for, while)","chapter":"반복문 (for, while)","next_page":"14","prev_page":"10","publish_date":"2009-08-06","title":"씹어먹는 C 언어 - <7. 뱅글 뱅글 (for, while) >"},"14":{"cat_title":"8. 우분투 리눅스에서 C 프로그래밍 하기","next_page":"16","prev_page":"12","publish_date":"2009-08-06","tex_title":"리눅스에서 C 프로그래밍 하기","title":"씹어 먹는 C 언어 - <8. 우분투 리눅스에서 C 프로그래밍 하기>"},"16":{"cat_title":"9. 만약에... 2탄 (switch 문)","chapter":"switch 문","next_page":"17","prev_page":"14","publish_date":"2009-08-15","title":"씹어먹는 C 언어 - <9. 만약에... 2탄 (switch 문)>"},"17":{"cat_title":"10. 연예인 캐스팅(?) (C 언어에서의 형 변환)","chapter":"형 변환 (타입 캐스팅)","next_page":"18","prev_page":"16","publish_date":"2009-08-15","title":"씹어 먹는 C 언어 - <10. 연예인 캐스팅(?) (C 언어에서의 형 변환)>"},"18":{"cat_title":"11 - 1. C 언어의 아파트 (배열), 상수","chapter":"C 언어의 아파트 - 배열","next_page":"20","prev_page":"17","publish_date":"2009-11-14","title":"씹어먹는 C 언어 - <11 - 1. C 언어의 아파트 (배열), 상수>"},"19":{"cat_title":"2 - 2. 주석(Comment)에 대한 이해","next_page":"21","prev_page":"6","publish_date":"2009-09-24","tex_title":"주석(Comment)","title":"씹어먹는 C 언어 - <2 - 2. 주석(Comment)에 대한 이해>"},"20":{"cat_title":"11 - 2. C 언어의 아파트2 (고차원의 배열)","next_page":"23","prev_page":"18","publish_date":"2009-10-29","tex_title":"다차원 배열","title":"씹어먹는 C 언어 - <11 - 2. C 언어의 아파트2 (고차원의 배열)>"},"21":{"cat_title":"2 - 3. 수를 표현하는 방법(기수법)","next_page":"7","prev_page":"19","publish_date":"2009-10-12","tex_title":"컴퓨터에서 수를 표현하는 방법","title":"씹어먹는 C 언어 - <2 - 3. 수를 표현하는 방법(기수법)>"},"23":{"cat_title":"12 - 1. 포인터는 영희이다! (포인터)","chapter":"포인터","next_page":"24","prev_page":"20","publish_date":"2009-11-09","title":"씹어먹는 C 언어 - <12 - 1. 포인터는 영희이다! (포인터)>"},"24":{"cat_title":"12 - 2. 포인터는 영희이다! (포인터)","next_page":"25","prev_page":"23","publish_date":"2009-11-14","tex_title":"상수 포인터, 포인터의 덧셈 뺄셈, 배열과 포인터","title":"씹어먹는 C 언어 - <12 - 2. 포인터는 영희이다! (포인터)>"},"25":{"cat_title":"12 - 3. 포인터는 영희이다! (포인터)","next_page":"26","prev_page":"24","publish_date":"2009-11-26","tex_title":"포인터의 포인터","title":"씹어먹는 C 언어 - <12 - 3. 포인터는 영희이다! (포인터)>"},"26":{"cat_title":"13 - 1. 마술 상자 함수(function)","chapter":"함수 (function)","next_page":"27","prev_page":"25","publish_date":"2009-12-14","title":"씹어먹는 C 언어 - <13 - 1. 마술 상자 함수(function)>"},"27":{"cat_title":"13 - 2. 마술 상자 함수 2 (function)","next_page":"28","prev_page":"26","publish_date":"2009-12-19","tex_title":"포인터로 받는 인자","title":"씹어먹는 C 언어 - <13 - 2. 마술 상자 함수 2 (function)>"},"28":{"cat_title":"13 - 3. 마술 상자 함수 3 (function)","next_page":"30","prev_page":"27","publish_date":"2009-12-22","tex_title":"여러가지 인자들","title":"씹어먹는 C 언어 - <13 - 3. 마술 상자 함수 3 (function)>"},"29":{"cat_title":"15 - 1. 일로와봐, 문자열(string)","chapter":"문자열 (string)","next_page":"32","prev_page":"31","publish_date":"2009-12-29","title":"씹어먹는 C 언어 - <15 - 1. 일로와봐, 문자열(string)>"},"30":{"cat_title":"13 - 4. 마술 상자 함수 (생각해볼 문제에 대한 아이디어)","next_page":"31","prev_page":"28","publish_date":"2009-12-27","tex_title":"생각해볼 문제에 대한 아이디어","title":"씹어먹는 C 언어 - <13 - 4. 마술 상자 함수 (생각해볼 문제에 대한 아이디어)>"},"31":{"cat_title":"14. 컴퓨터의 머리로 따라가보자 - 디버깅(debugging)","chapter":"디버깅(Debugging)","next_page":"29","prev_page":"30","publish_date":"2009-12-29","title":"씹어먹는 C 언어 - <14. 컴퓨터의 머리로 따라가보자 - 디버깅(debugging)>"},"32":{"cat_title":"15 - 2. 일로와봐, 문자열(string) - 버퍼에 관한 이해","next_page":"33","prev_page":"29","publish_date":"2010-01-25","tex_title":"버퍼에 대한 이해","title":"씹어먹는 C 언어 - <15 - 2. 일로와봐, 문자열(string) - 버퍼에 관한 이해>"},"33":{"cat_title":"15 - 3. 일로와봐, 문자열(string) - 문자열 지지고 볶기 & 리터럴","next_page":"43","prev_page":"32","publish_date":"2010-02-01","tex_title":"문자열 리터럴에 대한 이해","title":"씹어먹는 C 언어 - <15 - 3. 일로와봐, 문자열(string) - 문자열 지지고 볶기 & 리터럴>"},"34":{"cat_title":"stdio.h (cstdio)","publish_date":"2010-01-25","ref_title":"<stdio.h>, <cstdio>, stdio.h, cstdio","title":"C 언어 레퍼런스 - stdio.h (cstdio) 헤더파일"},"35":{"cat_title":"printf","publish_date":"2010-11-27","ref_title":"printf","title":"C 언어 레퍼런스 - printf 함수"},"36":{"cat_title":"scanf","publish_date":"2010-02-03","ref_title":"printf","title":"C 언어 레퍼런스 - scanf 함수"},"37":{"cat_title":"fgetc","publish_date":"2010-01-28","title":"C 언어 레퍼런스 - fgetc 함수"},"38":{"cat_title":"fgets","publish_date":"2010-01-28","title":"C 언어 레퍼런스 - fgets 함수"},"39":{"cat_title":"fputc","publish_date":"2010-01-29","title":"C 언어 레퍼런스 - fputc 함수"},"40":{"cat_title":"fputs","publish_date":"2010-02-02","title":"C 언어 레퍼런스 - fputs 함수"},"41":{"cat_title":"getc","publish_date":"2010-02-02","title":"C 언어 레퍼런스 - getc 함수"},"43":{"cat_title":"15 - 4. 일로와봐, 문자열(string) - 도서 관리 프로젝트","next_page":"55","prev_page":"33","publish_date":"2010-02-08","tex_title":"도서 관리 프로젝트","title":"씹어먹는 C 언어 - <15 - 4. 일로와봐, 문자열(string) - 도서 관리 프로젝트>"},"44":{"cat_title":"getchar","publish_date":"2010-02-03","title":"C 언어 레퍼런스 - getchar 함수"},"45":{"cat_title":"gets","publish_date":"2010-02-03","title":"C 언어 레퍼런스 - gets 함수"},"46":{"cat_title":"putc","publish_date":"2010-02-04","title":"C 언어 레퍼런스 - putc 함수"},"47":{"cat_title":"putchar","publish_date":"2010-02-04","title":"C 언어 레퍼런스 - putchar 함수"},"48":{"cat_title":"puts","publish_date":"2010-02-04","title":"C 언어 레퍼런스 - puts 함수"},"49":{"cat_title":"ungetc","publish_date":"2010-02-04","title":"C 언어 레퍼런스 - ungetc 함수"},"50":{"cat_title":"clearerr","publish_date":"2010-02-05","title":"C 언어 레퍼런스 - clearerr 함수"},"51":{"cat_title":"feof","publish_date":"2010-02-05","title":"C 언어 레퍼런스 - feof 함수"},"52":{"cat_title":"ferror","publish_date":"2010-02-05","title":"C 언어 레퍼런스 - ferror 함수"},"53":{"cat_title":"perror","publish_date":"2010-02-08","title":"C 언어 레퍼런스 - perror 함수"},"54":{"cat_title":"fclose","publish_date":"2010-02-08","title":"C 언어 레퍼런스 - fclose 함수"},"55":{"cat_title":"16 - 1. 모아 모아 구조체(struct)","chapter":"구조체 (struct)","next_page":"60","prev_page":"43","publish_date":"2010-02-14","title":"씹어먹는 C 언어 - <16 - 1. 모아 모아 구조체(struct)>"},"57":{"cat_title":"fflush","publish_date":"2010-02-10","title":"C 언어 레퍼런스 - fflush 함수"},"58":{"cat_title":"fopen","publish_date":"2010-02-11","ref_title":"fopen","title":"C 언어 레퍼런스 - fopen 함수"},"59":{"cat_title":"freopen","publish_date":"2010-02-13","title":"C 언어 레퍼런스 - freopen 함수"},"60":{"cat_title":"16 - 2. 모아 모아 구조체(struct) - 구조체 인자로 가진 함수","next_page":"71","prev_page":"55","publish_date":"2010-04-11","tex_title":"구조체를 인자로 받는 함수","title":"씹어먹는 C 언어 - <16 - 2. 모아 모아 구조체(struct) - 구조체 인자로 가진 함수>"},"61":{"cat_title":"setbuf","publish_date":"2010-02-16","title":"C 언어 레퍼런스 - setbuf 함수"},"62":{"cat_title":"setvbuf","publish_date":"2010-02-18","title":"C 언어 레퍼런스 - setvbuf 함수"},"64":{"cat_title":"fprintf","publish_date":"2010-02-19","title":"C 언어 레퍼런스 - fprintf 함수"},"65":{"cat_title":"fscanf","publish_date":"2010-02-22","title":"C 언어 레퍼런스 - fscanf 함수"},"66":{"cat_title":"sprintf","publish_date":"2010-02-22","title":"C 언어 레퍼런스 - sprintf 함수"},"67":{"cat_title":"sscanf","publish_date":"2011-01-03","title":"C 언어 레퍼런스 - sscanf 함수"},"68":{"cat_title":"fread","publish_date":"2010-03-21","title":"C 언어 레퍼런스 - fread 함수"},"69":{"cat_title":"fwrite","publish_date":"2010-04-11","title":"C 언어 레퍼런스 - fwrite 함수"},"70":{"cat_title":"fgetpos","publish_date":"2010-04-18","title":"C 언어 레퍼런스 - fgetpos 함수"},"71":{"cat_title":"16 - 3. 구조체와 친구들(공용체(union), 열거형(enum)","next_page":"83","prev_page":"60","publish_date":"2010-06-13","tex_title":"공용체(union)와 열거형(enum)","title":"씹어먹는 C 언어 - <16 - 3. 구조체와 친구들(공용체(union), 열거형(enum))>"},"72":{"cat_title":"fseek","publish_date":"2010-04-24","title":"C 언어 레퍼런스 - fseek 함수"},"73":{"cat_title":"fsetpos","publish_date":"2010-04-24","title":"C 언어 레퍼런스 - fsetpos 함수"},"74":{"cat_title":"ftell","publish_date":"2010-04-24","title":"C 언어 레퍼런스 - ftell 함수"},"75":{"cat_title":"rewind","publish_date":"2010-04-24","title":"C 언어 레퍼런스 - rewind 함수"},"76":{"cat_title":"string.h (cstring)","publish_date":"2010-04-24","ref_title":"<string.h>, <cstring>, string.h, cstring","title":"C 언어 레퍼런스 - string.h (cstring) 헤더파일"},"77":{"cat_title":"memcpy","publish_date":"2010-04-24","title":"C 언어 레퍼런스 - memcpy 함수"},"78":{"cat_title":"memmove","publish_date":"2010-04-25","title":"C 언어 레퍼런스 - memmove 함수"},"79":{"cat_title":"strcpy","publish_date":"2010-05-02","title":"C 언어 레퍼런스 - strcpy 함수"},"80":{"cat_title":"strncpy","publish_date":"2010-05-09","title":"C 언어 레퍼런스 - strncpy 함수"},"81":{"cat_title":"strcat","publish_date":"2010-05-21","title":"C 언어 레퍼런스 - strcat 함수"},"82":{"cat_title":"strncat","publish_date":"2010-05-23","title":"C 언어 레퍼런스 - strncat 함수"},"83":{"cat_title":"17. 변수의 생존 조건 및 데이터 세그먼트의 구조","chapter":"변수의 생존 조건과 데이터 세그먼트의 구조","next_page":"87","prev_page":"71","publish_date":"2010-06-19","title":"씹어먹는 C 언어 - <17. 변수의 생존 조건 및 데이터 세그먼트의 구조>"},"84":{"cat_title":"memcmp","publish_date":"2010-06-25","title":"C 언어 레퍼런스 - memcmp 함수"},"85":{"cat_title":"strcmp","publish_date":"2010-06-25","title":"C 언어 레퍼런스 - strcmp 함수"},"86":{"cat_title":"strcoll","publish_date":"2010-07-10","title":"C 언어 레퍼런스- strcoll 함수"},"87":{"cat_title":"18 - 1. 파일 뽀개기 (헤더파일과 #include)","chapter":"여러 파일로 나누기","next_page":"88","prev_page":"83","publish_date":"2010-07-16","title":"씹어먹는 C 언어 - <18 - 1. 파일 뽀개기 (헤더파일과 #include) >"},"88":{"cat_title":"18 - 2. 파일 뽀개기 (# 친구들, 라이브러리)","next_page":"89","prev_page":"87","publish_date":"2010-07-20","tex_title":"여러 전처리기 구문과 라이브러리 사용법","title":"씹어먹는 C 언어 - <18 - 2. 파일 뽀개기 (# 친구들, 라이브러리)>"},"89":{"cat_title":"19. main 함수의 인자, 텅 빈 void 형","chapter":"void 타입과 main 함수에 대한 이해","next_page":"98","prev_page":"88","publish_date":"2010-08-02","title":"씹어먹는 C 언어 - <19. main 함수의 인자, 텅 빈 void 형>"},"90":{"cat_title":"strncmp","publish_date":"2010-08-01","title":"C 언어 레퍼런스 - strncmp 함수"},"91":{"cat_title":"strxfrm","publish_date":"2010-08-01","title":"C 언어 레퍼런스 - strxfrm 함수"},"92":{"cat_title":"memchr","publish_date":"2010-08-01","title":"C 언어 레퍼런스 - memchr 함수"},"93":{"cat_title":"strchr","publish_date":"2010-08-02","title":"C 언어 레퍼런스 - strchr 함수"},"94":{"cat_title":"strcspn","publish_date":"2010-08-02","title":"C 언어 레퍼런스 - strcspn 함수"},"95":{"cat_title":"strpbrk","publish_date":"2010-08-02","title":"C 언어 레퍼런스 - strpbrk 함수"},"96":{"cat_title":"strrchr","publish_date":"2010-08-02","title":"C 언어 레퍼런스 - strrchr 함수"},"97":{"cat_title":"strspn","publish_date":"2010-11-21","title":"C 언어 레퍼런스 - strspn 함수"},"98":{"cat_title":"20 - 1. 동동동 메모리 동적할당(Dynamic Memory Allocation)","chapter":"동적 메모리 할당 (dynamic memory allocation)","next_page":"100","prev_page":"89","publish_date":"2010-08-03","title":"씹어먹는 C 언어 - <20 - 1. 동동동 메모리 동적할당(Dynamic Memory Allocation)>"},"99":{"cat_title":"21. 매크로 함수, 인라인 함수","chapter":"매크로 함수, 인라인 함수","next_page":"103","prev_page":"100","publish_date":"2010-11-21","title":"씹어먹는 C 언어 - <21. 매크로 함수, 인라인 함수>"},"100":{"cat_title":"20 - 2. 메모리 동적할당 + 메모리 갖고 놀기","next_page":"99","prev_page":"98","publish_date":"2010-09-13","tex_title":"구조체의 동적 할당과 메모리 관리 함수","title":"씹어먹는 C 언어 - <20 - 2. 메모리 동적할당 + 메모리 갖고 놀기>"},"101":{"cat_title":"strstr","publish_date":"2010-11-27","title":"C 언어 레퍼런스 - strstr 함수"},"102":{"cat_title":"strtok","publish_date":"2010-11-27","title":"C 언어 레퍼런스 - strtok 함수"},"103":{"cat_title":"22. C 언어의 잡다한 키워드들 (typedef, volatile, #pragma)","chapter":"그 밖에 키워드들","next_page":"117","prev_page":"99","publish_date":"2010-12-25","title":"씹어먹는 C 언어 - <22. C 언어의 잡다한 키워드들 (typedef, volatile, #pragma)>"},"104":{"cat_title":"memset","publish_date":"2010-11-28","title":"C 언어 레퍼런스 - memset 함수"},"105":{"cat_title":"strerror","publish_date":"2010-12-12","title":"C 언어 레퍼런스 - strerror 함수"},"106":{"cat_title":"strlen","publish_date":"2010-12-12","title":"C 언어 레퍼런스 - strlen 함수"},"108":{"cat_title":"time.h","publish_date":"2010-12-25","ref_title":"<time.h>","title":"C 언어 레퍼런스 - time.h 헤더파일"},"109":{"cat_title":"struct tm","publish_date":"2010-12-25","ref_title":"tm 구조체, tm, struct tm","title":"C 언어 레퍼런스 - struct tm ( tm 구조체 )"},"110":{"cat_title":"clock","publish_date":"2010-12-25","title":"C 언어 레퍼런스 - clock 함수"},"111":{"cat_title":"difftime","publish_date":"2010-12-25","title":"C 언어 레퍼런스 - difftime 함수"},"112":{"cat_title":"mktime","publish_date":"2010-12-26","title":"C 언어 레퍼런스 - mktime 함수"},"113":{"cat_title":"time_t 형","publish_date":"2010-12-25","ref_title":"time_t","title":"C 언어 레퍼런스 - time_t 형"},"114":{"cat_title":"time","publish_date":"2010-12-26","title":"C 언어 레퍼런스 - time 함수"},"115":{"publish_date":"2010-12-28","title":"100 번째 글을 돌파하며"},"116":{"cat_title":"asctime","publish_date":"2010-12-26","title":"C 언어 레퍼런스 - asctime 함수"},"117":{"cat_title":"23 - 1. 파일 하고 이야기 하기 (파일 입출력에 대한 기본적 이해)","chapter":"파일 입출력","next_page":"123","prev_page":"103","publish_date":"2010-12-28","title":"씹어먹는 C 언어 - <23 - 1. 파일 하고 이야기 하기 (파일 입출력에 대한 기본적 이해)>"},"118":{"cat_title":"ctime","publish_date":"2010-12-29","title":"C 언어 레퍼런스 - ctime 함수"},"119":{"cat_title":"gmtime","publish_date":"2010-12-29","title":"C 언어 레퍼런스 - gmtime 함수"},"120":{"cat_title":"localtime","publish_date":"2010-12-30","title":"C 언어 레퍼런스 - localtime 함수"},"121":{"cat_title":"stdlib.h (cstdlib)","path":"/C Reference/stdlib.h","publish_date":"2011-01-05","ref_title":"<stdlib.h>, cstdlib","title":"C 언어 레퍼런스 - stdlib.h (cstdlib)"},"122":{"cat_title":"strftime","publish_date":"2011-01-05","title":"C 언어 레퍼런스 - strftime 함수"},"123":{"cat_title":"23 - 2. 파일 하고 이야기 하기 (파일 입출력)","next_page":"125","prev_page":"117","publish_date":"2011-01-10","tex_title":"파일 안에서 이동하기","title":"씹어먹는 C 언어 - <23 - 2. 파일 하고 이야기 하기 (파일 입출력)>"},"124":{"cat_title":"atof","path":"/C Reference/stdlib.h","publish_date":"2011-01-09","title":"C 언어 레퍼런스 - atof 함수"},"125":{"cat_title":"23 - 3. 파일 하고 이야기 하기 (파일 입출력 - 마무리)","next_page":"129","prev_page":"123","publish_date":"2011-01-17","tex_title":"도서 관리 프로그램의 완성","title":"씹어먹는 C 언어 - <23 - 3. 파일 하고 이야기 하기 (파일 입출력 - 마무리)>"},"129":{"cat_title":"24. 더 빠르게 실행되는 코드를 위하여 (C 코드 최적화)","chapter":"C 코드 최적화","next_page":"130","prev_page":"125","publish_date":"2011-01-18","title":"씹어먹는 C 언어 - <24. 더 빠르게 실행되는 코드를 위하여 (C 코드 최적화)>"},"130":{"prev_page":"129","publish_date":"2011-01-20","title":"초보자를 위한 C 언어 강좌 - 씹어먹는 C 언어 (완결)"},"131":{"cat_title":"atoi","path":"/C Reference/stdlib.h","publish_date":"2011-01-27","title":"C 언어 레퍼런스 - atoi 함수"},"132":{"cat_title":"atol","path":"/C Reference/stdlib.h","publish_date":"2011-01-27","title":"C 언어 레퍼런스 - atol 함수"},"133":{"publish_date":"2011-02-05","title":"티스토리용 통계 프로그램 (댓글, 포스트, 방문자 등등) - tistory_stat (v.0.1)"},"134":{"cat_title":"1. 자~ C++ 의 세계로","chapter":"C++ 시작하기","next_page":"136","prev_page":"135","publish_date":"2011-03-06","title":"씹어먹는 C++ - <1. 자~ C++ 의 세계로>"},"135":{"next_page":"134","publish_date":"2011-03-06","title":"씹어먹는 C++ 강좌 계획"},"136":{"cat_title":"1 - 2. 첫 C++ 프로그램 분석하기","next_page":"138","prev_page":"134","publish_date":"2011-03-06","tex_title":"첫 C++ 프로그램 분석하기","title":"씹어먹는 C++ - <1 - 2. 첫 C++ 프로그램 분석하기>"},"138":{"cat_title":"2 - 1. C++ 은 C 친구 - C 와 공통점","chapter":"C++ 와 C 언어","next_page":"141","prev_page":"136","publish_date":"2011-05-15","title":"씹어먹는 C++ - <2 - 1. C++ 은 C 친구 - C 와 공통점>"},"139":{"cat_title":"rand","path":"/C Reference/stdlib.h","publish_date":"2011-05-05","title":"C 언어 레퍼런스 - rand 함수"},"140":{"cat_title":"srand","path":"/C Reference/stdlib.h","publish_date":"2011-05-05","title":"C 언어 레퍼런스 - srand 함수"},"141":{"cat_title":"2 - 2. C++ 은 C 친구일까?","next_page":"169","prev_page":"138","publish_date":"2012-01-01","tex_title":"C++ 의 참조자 (레퍼런스)","title":"씹어먹는 C++ - <2 - 2. C++ 은 C 친구일까?>"},"142":{"path":"/잡담","publish_date":"2011-08-16","title":"비주얼 스튜디오에서 소스 한꺼번에 정렬하기"},"143":{"publish_date":"2011-08-17","ref_title":"iostream, <iostream>","title":"C++ IOstream (입출력) 라이브러리"},"144":{"cat_title":"ios_base 클래스","publish_date":"2011-08-17","ref_title":"ios_base","title":"C++ 레퍼런스 - ios_base 클래스"},"145":{"cat_title":"ios 클래스","publish_date":"2011-08-17","ref_title":"ios, <ios>","title":"C++ 레퍼런스 - ios 클래스"},"146":{"cat_title":"istream 클래스","publish_date":"2011-08-17","ref_title":"istream, <istream>, std::basic_istream, basic_istream","title":"C++ 레퍼런스 - istream 클래스"},"147":{"cat_title":"istream::operator>> (추출 연산자)","publish_date":"2011-08-17","ref_title":"istream::operator>>","title":"C++ 레퍼런스 - istream::operator>> (추출 연산자)"},"149":{"cat_title":"istream::getline","publish_date":"2011-08-18","ref_title":"getline","title":"C++ 레퍼런스 - istream::getline 함수"},"150":{"cat_title":"ios::exceptions","publish_date":"2011-08-18","title":"C++ 레퍼런스 - ios::exceptions"},"151":{"cat_title":"ifstream 클래스","publish_date":"2011-08-18","ref_title":"ifstream","title":"C++ 레퍼런스 - ifstream 클래스"},"152":{"cat_title":"ios_base::width","publish_date":"2011-08-18","ref_title":"ios_base::width, width","title":"C++ 레퍼런스 - ios_base::width"},"153":{"cat_title":"ios_base::flags","publish_date":"2011-08-19","ref_title":"flags","title":"C++ 레퍼런스 - ios_base::flags 함수"},"154":{"cat_title":"ios_base::fmtflags 타입","publish_date":"2011-08-19","ref_title":"ios_base::fmtflags, fmtflags","title":"C++ 레퍼런스 - ios_base::fmtflags 타입"},"155":{"cat_title":"ios_base::setf","publish_date":"2011-08-19","ref_title":"setf","title":"C++ 레퍼런스 - ios_base::setf 함수"},"156":{"cat_title":"ios_base::unsetf","publish_date":"2011-08-19","ref_title":"unsetf","title":"C++ 레퍼런스 - ios_base::unsetf 함수"},"157":{"cat_title":"ios_base::precision","publish_date":"2011-08-19","ref_title":"precision","title":"C++ 레퍼런스 - ios_base::precision 함수"},"158":{"cat_title":"ios_base::imbue","publish_date":"2011-08-20","ref_title":"imbue","title":"C++ 레퍼런스 - ios_base::imbue"},"159":{"cat_title":"ios_base::register_callback","publish_date":"2011-08-20","ref_title":"ios_base::register_callback, register_callback","title":"C++ 레퍼런스 - ios_base::register_callback 함수"},"160":{"cat_title":"ios_base::getloc","publish_date":"2011-08-20","ref_title":"getloc, ios_base::getloc","title":"C++ 레퍼런스 - ios_base::getloc 함수"},"161":{"cat_title":"ios_base::iword","publish_date":"2011-10-22","ref_title":"ios_base::iword, iword","title":"C++ 레퍼런스 - ios_base::iword"},"162":{"cat_title":"ios_base::xalloc","publish_date":"2011-10-22","ref_title":"xalloc, ios_base::xalloc","title":"C++ 레퍼런스 - ios_base::xalloc 함수"},"163":{"cat_title":"ios_base::pword","publish_date":"2011-10-22","ref_title":"ios_base::pword, pword","title":"C++ 레퍼런스 - ios_base::pword 함수"},"164":{"cat_title":"ios::good","publish_date":"2011-10-23","ref_title":"good","title":"C++ 레퍼런스 - ios::good 함수"},"165":{"cat_title":"ios::fail","publish_date":"2011-10-23","ref_title":"fail","title":"C++ 레퍼런스 - ios::fail 함수"},"166":{"cat_title":"ios::bad","publish_date":"2011-10-23","ref_title":"bad","title":"C++ 레퍼런스 - ios::bad 함수"},"167":{"cat_title":"ios::eof","publish_date":"2011-10-23","ref_title":"eof","title":"C++ 레퍼런스 - ios::eof 함수"},"168":{"cat_title":"ios::operator!","publish_date":"2011-10-23","title":"C++ 레퍼런스 - ios::operator!"},"169":{"cat_title":"3. C++ 의 세계로 오신 것을 환영합니다. (new, delete)","chapter":"C++ 의 세계로","next_page":"172","prev_page":"141","publish_date":"2012-01-01","title":"씹어먹는 C++ - <3. C++ 의 세계로 오신 것을 환영합니다. (new, delete)>"},"170":{"cat_title":"ios::operator void*","publish_date":"2012-01-01","title":"C++ 레퍼런스 - ios::operator void*"},"171":{"cat_title":"ios::rdstate","publish_date":"2012-03-25","ref_title":"rdstate","title":"C++ 레퍼런스 - ios::rdstate 함수"},"172":{"cat_title":"4 - 1. 이 세상은 객체로 이루어져 있다","chapter":"객체지향프로그래밍의 시작","next_page":"173","prev_page":"169","publish_date":"2012-02-29","title":"씹어먹는 C++ - <4 - 1. 이 세상은 객체로 이루어져 있다>"},"173":{"cat_title":"4 - 2. 클래스의 세계로 오신 것을 환영합니다. (함수의 오버로딩, 생성자)","next_page":"188","prev_page":"172","publish_date":"2012-08-04","tex_title":"생성자와 함수의 오버로딩","title":"씹어먹는 C++ - <4 - 2. 클래스의 세계로 오신 것을 환영합니다. (함수의 오버로딩, 생성자)>"},"174":{"cat_title":"STL 컨테이너 (STL Container)","path":"/C++ Reference/Containers","publish_date":"2012-03-24","title":"C++ 레퍼런스 - STL 컨테이너 (STL Container)"},"175":{"cat_title":"vector","path":"/C++ Reference/Containers/vector","publish_date":"2012-03-24","title":"C++ 레퍼런스 - STL 컨테이너 - vector"},"176":{"cat_title":"deque","path":"/C++ Reference/Containers/deque","publish_date":"2012-03-24","ref_title":"<deque>","title":"C++ 레퍼런스 - STL 컨테이너 - deque"},"177":{"cat_title":"list","path":"/C++ Reference/Containers/list","publish_date":"2012-03-24","title":"C++ 레퍼런스 - STL 컨테이너 - list"},"178":{"title":"C++ 레퍼런스 - STL 컨테이너 - vector 생성자","publish_date":"2018-12-31"},"179":{"cat_title":"ios::setstate","publish_date":"2012-03-25","ref_title":"setstate","title":"C++ 레퍼런스 - ios::setstate 함수"},"180":{"cat_title":"ios::clear","publish_date":"2012-03-25","ref_title":"clear","title":"C++ 레퍼런스 - ios::clear"},"181":{"cat_title":"ios::fill","publish_date":"2012-03-25","title":"C++ 레퍼런스 - ios::fill 함수"},"182":{"cat_title":"ios::rdbuf","publish_date":"2012-03-25","ref_title":"ios::rdbuf, rdbuf","title":"C++ 레퍼런스 - ios::rdbuf 함수"},"183":{"cat_title":"vector::assign","path":"/C++ Reference/Containers/vector","publish_date":"2012-03-25","ref_title":"assign","title":"C++ 레퍼런스 - STL 컨테이너 - vector::assign 함수"},"184":{"publish_date":"2012-03-25","title":"씹어먹는 C 언어 - 찾아보기"},"185":{"cat_title":"vector::push_back","path":"/C++ Reference/Containers/vector","publish_date":"2012-08-05","ref_title":"push_back","title":"C++ 레퍼런스 - vector::push_back"},"186":{"cat_title":"vector::insert","path":"/C++ Reference/Containers/vector","publish_date":"2012-08-05","ref_title":"insert","title":"C++ 레퍼런스 - vector::insert"},"187":{"publish_date":"2012-08-06","title":"씹어먹는 C 언어 강좌 - PDF 파일"},"188":{"cat_title":"4 - 3. 스타크래프트를 만들자 ① (복사 생성자, 소멸자)","next_page":"197","prev_page":"173","publish_date":"2013-01-06","tex_title":"복사 생성자와 소멸자","title":"씹어먹는 C++ - <4 - 3. 스타크래프트를 만들자 ① (복사 생성자, 소멸자)>"},"189":{"publish_date":"2012-11-03","title":"씹어먹는 C++ 토막글 ① - Rvalue(우측값) 레퍼런스에 관해"},"190":{"cat_title":"ios::tie","publish_date":"2012-11-07","ref_title":"ios::tie, tie","title":"C++ 레퍼런스 - ios::tie 함수"},"191":{"cat_title":"istream::get","publish_date":"2012-11-07","ref_title":"get","title":"C++ 레퍼런스 - istream::get 함수"},"192":{"cat_title":"istream::gcount","publish_date":"2012-11-07","ref_title":"gcount","title":"C++ 레퍼런스 - istream::gcount 함수"},"193":{"cat_title":"istream::ignore","publish_date":"2012-11-07","ref_title":"ignore","title":"C++ 레퍼런스 - istream::ignore 함수"},"194":{"cat_title":"istream::peek","publish_date":"2012-11-09","ref_title":"peek","title":"C++ 레퍼런스 - istream::peek 함수"},"195":{"publish_date":"2013-01-05","title":"비주얼 스튜디오 2010 에서 C 및 C++ 프로그래밍 하기"},"196":{"publish_date":"2013-01-08","title":"씹어먹는 C++ 토막글 ② - 람다(lambda) 함수"},"197":{"cat_title":"4 - 4. 스타크래프트를 만들자 ② (const, static)","next_page":"198","prev_page":"188","publish_date":"2013-05-26","tex_title":"const, const, const!","title":"씹어먹는 C++ - <4 - 4. 스타크래프트를 만들자 ② (const, static)>"},"198":{"cat_title":"4 - 5. 내가 만드는 String 클래스","next_page":"253","prev_page":"197","publish_date":"2013-08-15","tex_title":"내가 만들어보는 문자열 클래스","title":"씹어먹는 C++ - <4 - 5. 내가 만드는 String 클래스>"},"199":{"publish_date":"2013-08-04","title":"모든 컴퓨터 과학자가 알아야 할 부동 소수점의 모든 것(What Every Computer Scientists Should Know About Floating Point Arithmetic)"},"201":{"publish_date":"2013-08-04","title":"오픈북 프로젝트 - 양질의 컴퓨터 문서 공급 프로젝트"},"202":{"cat_title":"5 - 1. 내가 만든 연산자 - 연산자 오버로딩","chapter":"연산자 오버로딩(overloading)","next_page":"203","prev_page":"253","publish_date":"2013-08-25","title":"씹어먹는 C++ - <5 - 1. 내가 만든 연산자 - 연산자 오버로딩>"},"203":{"cat_title":"5 - 2. 입출력, 첨자, 타입변환, 증감 연산자 오버로딩","next_page":"204","prev_page":"202","publish_date":"2013-08-29","tex_title":"잡다한 연산자들의 오버로딩","title":"씹어먹는 C++ - <5 - 2. 입출력, 첨자, 타입변환, 증감 연산자 오버로딩>"},"204":{"cat_title":"5 - 3. 연산자 오버로딩 프로젝트 - N 차원 배열","next_page":"209","prev_page":"203","publish_date":"2013-09-04","tex_title":"N 차원 배열 만들기 프로젝트","title":"씹어먹는 C++ - <5 - 3. 연산자 오버로딩 프로젝트 - N 차원 배열>"},"208":{"publish_date":"2013-10-02","title":"C++ 11 자주 질문되는 것들 모음 (C++ 11 FAQs - Bjarne Stroustup)"},"209":{"cat_title":"6 - 1. C++ 표준 문자열 & 부모의 것을 물려쓰자 - 상속","chapter":"클래스의 상속","next_page":"210","prev_page":"204","publish_date":"2014-03-30","title":"씹어먹는 C++ - <6 - 1. C++ 표준 문자열 & 부모의 것을 물려쓰자 - 상속>"},"210":{"cat_title":"6 - 2. 가상(virtual) 함수와 다형성","next_page":"211","prev_page":"209","publish_date":"2014-03-31","tex_title":"가상 함수와 다형성","title":"씹어먹는 C++ - <6 - 2. 가상(virtual) 함수와 다형성>"},"211":{"cat_title":"6 - 3. 가상함수와 상속에 관련한 잡다한 내용들","next_page":"213","prev_page":"210","publish_date":"2014-04-13","tex_title":"상속에 관련된 잡다한 내용들","title":"씹어먹는 C++ - <6 - 3. 가상함수와 상속에 관련한 잡다한 내용들>"},"213":{"cat_title":"7 - 1. C++ 에서의 입출력 (istream, ostream)","chapter":"C++ 표준 입출력 라이브러리","next_page":"215","prev_page":"211","publish_date":"2015-05-04","title":"씹어먹는 C++ - <7 - 1. C++ 에서의 입출력 (istream, ostream)>"},"214":{"publish_date":"2015-08-11","title":"C 언어 및 강좌 관련 자주 질문되는 것들에 대한 답변"},"215":{"cat_title":"7 - 2. C++ 에서 파일 입출력 - std::ifstream. std::ofstream, std::stringstream","next_page":"217","prev_page":"213","publish_date":"2016-07-14","tex_title":"C++ 파일 입출력","title":"씹어먹는 C++ - <7 - 2. C++ 에서 파일 입출력 - std::ifstream. std::ofstream, std::stringstream>"},"217":{"cat_title":"8 - 1. Excel 만들기 프로젝트 1부","chapter":"엑셀 만들기 프로젝트","next_page":"218","prev_page":"215","publish_date":"2016-07-18","title":"씹어먹는 C++ - <8 - 1. Excel 만들기 프로젝트 1부>"},"218":{"cat_title":"8 - 2. Excel 만들기 프로젝트 2부","next_page":"219","prev_page":"217","publish_date":"2016-07-19","tex_title":"엑셀 만들기 프로젝트 2부","title":"씹어먹는 C++ - <8 - 2. Excel 만들기 프로젝트 2부>"},"219":{"cat_title":"9 - 1. 코드를 찍어내는 틀 - C++ 템플릿(template)","chapter":"C++ 템플릿","next_page":"290","prev_page":"218","publish_date":"2017-04-07","title":"씹어먹는 C++ - <9 - 1. 코드를 찍어내는 틀 - C++ 템플릿(template)>"},"220":{"cat_title":"비주얼 스튜디오 2017 커뮤니티에서 C/C++ 프로그래밍 하기","path":"/C","publish_date":"2017-03-30","title":"비주얼 스튜디오 2017 커뮤니티에서 C/C++ 프로그래밍 하기"},"221":{"cat_title":"9 - 3. 템플릿 메타 프로그래밍 (Template Meta programming)","next_page":"222","prev_page":"290","publish_date":"2017-06-26","tex_title":"템플릿 메타프로그래밍 1 부","title":"씹어먹는 C++ - <9 - 3. 템플릿 메타 프로그래밍 (Template Meta programming)>"},"222":{"cat_title":"9 - 4. 템플릿 메타 프로그래밍 2","next_page":"223","prev_page":"221","publish_date":"2017-07-02","tex_title":"템플릿 메타프로그래밍 2 부","title":"씹어먹는 C++ - <9 - 4. 템플릿 메타 프로그래밍 2>"},"223":{"cat_title":"10 - 1. C++ STL - 벡터(std::vector), 리스트(list), 데크(deque)","chapter":"C++ 표준 라이브러리 (컨테이너와 알고리즘)","next_page":"224","prev_page":"222","publish_date":"2017-07-04","tex_title":"C++ 표준 컨테이너","title":"씹어먹는 C++ - <10 - 1. C++ STL - 벡터(std::vector), 리스트(list), 데크(deque)>"},"224":{"cat_title":"10 - 2. C++ STL - 셋(set), 맵(map), unordered_set, unordered_map","next_page":"225","prev_page":"223","publish_date":"2017-07-08","tex_title":"C++ 의 표준 연관 컨테이너들","title":"씹어먹는 C++ - <10 - 2. C++ STL - 셋(set), 맵(map), unordered_set, unordered_map>"},"225":{"cat_title":"10 - 3. C++ STL - 알고리즘(algorithm)","next_page":"292","prev_page":"224","publish_date":"2017-07-09","tex_title":"C++ 표준 알고리즘 라이브러리","title":"씹어먹는 C++ - <10 - 3. C++ STL - 알고리즘(algorithm)>"},"227":{"cat_title":"12 - 1. 우측값 레퍼런스와 이동 생성자","chapter":"우측값과 이동 연산","next_page":"228","prev_page":"230","publish_date":"2018-03-24","tex_title":"우측값 레퍼런스와 이동 생성자","title":"씹어먹는 C++ - <12 - 1. 우측값 레퍼런스와 이동 생성자>"},"228":{"cat_title":"12 - 2. Move 문법 (std::move semantics) 과 완벽한 전달 (perfect forwarding)","next_page":"229","prev_page":"227","publish_date":"2018-03-27","tex_title":"move 문법과 완벽한 전달","title":"씹어먹는 C++ - <12 - 2. Move 문법 (std::move semantics) 과 완벽한 전달 (perfect forwarding)>"},"229":{"cat_title":"13 - 1. 객체의 유일한 소유권 - unique_ptr","chapter":"스마트 포인터","next_page":"252","path":"/C++","prev_page":"228","title":"씹어먹는 C ++ - <13 - 1. 객체의 유일한 소유권 - unique_ptr>","updated_date":"2018-09-18","publish_date":"2018-12-31"},"230":{"cat_title":"11. C++ 에서 예외 처리","chapter":"C++ 에서의 예외 처리","next_page":"227","path":"/C++","prev_page":"292","title":"씹어먹는 C ++ - <11. C++ 에서 예외 처리>","updated_date":"09/17/2018","publish_date":"2018-12-31"},"231":{"cat_title":"씹어먹는 C 언어 시작하기","next_page":"5","path":"/C","publish_date":"2009-04-16","title":"씹어먹는 C 언어 시작하기"},"232":{"publish_date":"2018-12-31"},"233":{"cat_title":"<string>","path":"/C++ Reference/string","ref_title":"<string>","title":"C++ 레퍼런스 - string 라이브러리","publish_date":"2018-12-31"},"234":{"cat_title":"basic_string","path":"/C++ Reference/string","ref_title":"basic_string, std::basic_string","title":"C++ 레퍼런스 - basic_string","publish_date":"2018-12-31"},"235":{"cat_title":"substr","path":"/C++ Reference/string","ref_title":"substr, basic_string::substr","title":"C++ 레퍼런스 - string 의 substr 함수","publish_date":"2018-12-31"},"236":{"cat_title":"getline","path":"/C++ Reference/string","ref_title":"getline, string::getline","title":"C++ 레퍼런스 - string 의 getline 함수","publish_date":"2018-12-31"},"237":{"cat_title":"string 생성자","path":"/C++ Reference/string","ref_title":"string, wstring, std::string, std::wstring, std::u16string, std::u32string","title":"C++ 레퍼런스 - string 생성자","publish_date":"2018-12-31"},"238":{"cat_title":"insert","path":"/C++ Reference/string","ref_title":"insert","title":"C++ 레퍼런스 - string 의 insert 함수","publish_date":"2018-12-31"},"239":{"cat_title":"basic_string_view","path":"/C++ Reference/string_view","ref_title":"basic_string_view, std::basic_string_view","title":"C++ 레퍼런스 - basic_string_view","publish_date":"2018-12-31"},"240":{"cat_title":"erase","path":"/C++ Reference/string","ref_title":"erase, basic_string::erase","title":"C++ 레퍼런스 - string 의 erase 함수","publish_date":"2018-12-31"},"241":{"cat_title":"find","path":"/C++ Reference/string","ref_title":"find, basic_string::find","title":"C++ 레퍼런스 - string 의 find 함수","publish_date":"2018-12-31"},"242":{"cat_title":"string_view","path":"/C++ Reference/string_view","ref_title":"string_view, std::string_view, wstring_view, std::wstring_view","title":"C++ 레퍼런스 - string_view 생성자","publish_date":"2018-12-31"},"243":{"cat_title":"malloc","path":"/C Reference/stdlib.h","ref_title":"malloc","title":"C 언어 레퍼런스 - malloc 함수","publish_date":"2018-12-31"},"244":{"cat_title":"free","path":"/C Reference/stdlib.h","ref_title":"free","title":"C 언어 레퍼런스 - free 함수","publish_date":"2018-12-31"},"245":{"cat_title":"모두의 알고리즘 강좌 시작하기","next_page":"246","path":"/알고리즘","title":"모두의 알고리즘 강좌 시작하기","publish_date":"2018-12-31"},"246":{"cat_title":"1. 어떤 알고리즘이 효율적인가?","next_page":"247","path":"/알고리즘","prev_page":"245","title":"모두의 알고리즘 - 1. 어떤 알고리즘이 효율적인가?","publish_date":"2018-12-31"},"247":{"cat_title":"2 - 1. 정렬 알고리즘과 분할 정복","next_page":"248","path":"/알고리즘","prev_page":"246","title":"모두의 알고리즘 - 2 - 1. 정렬 알고리즘과 분할 정복","publish_date":"2018-12-31"},"248":{"cat_title":"2 - 2. 정렬 알고리즘의 꽃 - 퀵 소트(Quicksort)","next_page":"274","path":"/알고리즘","prev_page":"247","title":"모두의 알고리즘 - 2 - 2. 정렬 알고리즘의 꽃 - 퀵 소트(Quicksort)","publish_date":"2018-12-31"},"249":{"cat_title":"find_first_of","path":"/C++ Reference/string","ref_title":"find_first_of, basic_string::find_first_of","title":"C++ 레퍼런스 - string 의 find_first_of 함수","publish_date":"2018-12-31"},"250":{"cat_title":"replace","path":"/C++ Reference/string","ref_title":"replace, basic_string::replace","title":"C++ 레퍼런스 - string 의 replace 함수","publish_date":"2018-12-31"},"251":{"cat_title":"본인 소개","path":"/잡담/본인 소개","publish_date":"2018-12-08","title":"본인 소개 (2018-12-08) 업데이트"},"252":{"cat_title":"13 - 2. 자원을 공유할 때 - shared_ptr 와 weak_ptr","next_page":"254","path":"/C++","prev_page":"229","publish_date":"2018-12-21","tex_title":"여러 객체가 소유할 수 있는 포인터","title":"씹어먹는 C ++ - <13 - 2. 자원을 공유할 때 - shared_ptr 와 weak_ptr>"},"253":{"cat_title":"4 - 6. 클래스의 explicit 과 mutable 키워드","next_page":"202","path":"/C++","prev_page":"198","publish_date":"2018-12-26","tex_title":"클래스의 explicit 과 mutable 키워드","title":"씹어먹는 C ++ - <4 - 6. 클래스의 explicit 과 mutable 키워드>"},"254":{"cat_title":"14. 함수를 객체로! (C++ std::function, std::mem_fn, std::bind)","chapter":"함수 객체","next_page":"269","path":"/C++","prev_page":"252","publish_date":"2019-02-24","title":"씹어먹는 C ++ - <14. 함수를 객체로! (C++ std::function, std::mem_fn, std::bind)>"},"255":{"cat_title":"씹어먹는 C ++ 토막글 3 - SFINAE 와 enable_if","path":"/C++","publish_date":"2019-01-05","title":"씹어먹는 C ++ 토막글 3 - SFINAE 와 enable_if"},"256":{"cat_title":"<algorithm>","path":"/C++ Reference/algorithm","publish_date":"2019-01-16","ref_title":"algorithm, <algorithm>","title":"C++ 레퍼런스 - algorithm 라이브러리"},"257":{"cat_title":"all_of","path":"/C++ Reference/algorithm","publish_date":"2019-01-16","ref_title":"all_of, std::all_of","title":"C++ 레퍼런스 - all_of 함수"},"258":{"cat_title":"any_of","path":"/C++ Reference/algorithm","publish_date":"2019-01-17","ref_title":"any_of, std::any_of","title":"C++ 레퍼런스 - any_of 함수"},"259":{"cat_title":"none_of","path":"/C++ Reference/algorithm","publish_date":"2019-01-19","ref_title":"none_of, std::none_of","title":"C++ 레퍼런스 - none_of 함수"},"260":{"cat_title":"for_each","path":"/C++ Reference/algorithm","publish_date":"2019-01-19","ref_title":"for_each, std::for_each","title":"C++ 레퍼런스 - for_each 함수"},"261":{"cat_title":"find","path":"/C++ Reference/algorithm","publish_date":"2019-01-19","ref_title":"find, std::find","title":"C++ 레퍼런스 - find 함수 (<algorithm>)"},"262":{"cat_title":"count, count_if","path":"/C++ Reference/algorithm","publish_date":"2019-02-01","ref_title":"count, std::count, count_if, std::count_if","title":"C++ 레퍼런스 - count 와 count_if 함수 (<algorithm>)"},"263":{"cat_title":"find_if","path":"/C++ Reference/algorithm","publish_date":"2019-02-04","ref_title":"find_if, std::find_if","title":"C++ 레퍼런스 - find_if 함수 (<algorithm>)"},"264":{"cat_title":"find_if_not","path":"/C++ Reference/algorithm","publish_date":"2019-02-04","ref_title":"find_if_not, std::find_if_not","title":"C++ 레퍼런스 - find_if_not 함수 (<algorithm>)"},"265":{"cat_title":"find_end","path":"/C++ Reference/algorithm","publish_date":"2019-02-04","ref_title":"find_end, std::find_end","title":"C++ 레퍼런스 - find_end 함수 (<algorithm>)"},"266":{"cat_title":"remove, remove_if","path":"/C++ Reference/algorithm","publish_date":"2019-02-18","ref_title":"remove, std::remove, remove_if, std::remove_if","title":"C++ 레퍼런스 - remove 와 remove_if 함수 (<algorithm>)"},"267":{"cat_title":"fill","path":"/C++ Reference/algorithm","publish_date":"2019-02-18","ref_title":"fill, std::fill","title":"C++ 레퍼런스 - fill 함수 (<algorithm>)"},"268":{"cat_title":"search","path":"/C++ Reference/algorithm","publish_date":"2019-02-18","ref_title":"search, std::search","title":"C++ 레퍼런스 - search 함수 (<algorithm>)"},"269":{"cat_title":"15 - 1. 동시에 실행을 시킨다고? - C++ 쓰레드(thread)","chapter":"C++ 쓰레드","next_page":"270","path":"/C++","prev_page":"254","publish_date":"2019-04-01","title":"씹어먹는 C ++ - <15 - 1. 동시에 실행을 시킨다고? - C++ 쓰레드(thread)>"},"270":{"cat_title":"15 - 2. C++ 뮤텍스(mutex) 와 조건 변수(condition variable)","next_page":"271","path":"/C++","prev_page":"269","publish_date":"2019-04-03","tex_title":"뮤텍스와 조건변수","title":"씹어먹는 C ++ - <15 - 2. C++ 뮤텍스(mutex) 와 조건 변수(condition variable)>"},"271":{"cat_title":"15 - 3. C++ memory order 와 atomic 객체","next_page":"284","path":"/C++","prev_page":"270","publish_date":"2019-04-07","tex_title":"atomic 객체와 명령어 재배치","title":"씹어먹는 C++ - <15 - 3. C++ memory order 와 atomic 객체>"},"272":{"cat_title":"sort","path":"/C++ Reference/algorithm","publish_date":"2019-04-10","ref_title":"sort, std::sort","title":"C++ 레퍼런스 - sort 함수 (<algorithm>)"},"273":{"cat_title":"partition","path":"/C++ Reference/algorithm","publish_date":"2019-04-13","ref_title":"partition, std::partition","title":"C++ 레퍼런스 - partition 함수 (<algorithm>)"},"274":{"cat_title":"2 - 3. 비교 기반 정렬 알고리즘의 한계와 정수 정렬 알고리즘들","next_page":"287","path":"/알고리즘","prev_page":"248","publish_date":"2019-04-17","title":"모두의 알고리즘 - 2 - 3. 비교 기반 정렬 알고리즘의 한계와 정수 정렬 알고리즘들"},"275":{"cat_title":"transform","path":"/C++ Reference/algorithm","publish_date":"2019-04-19","ref_title":"transform, std::transform","title":"C++ 레퍼런스 - transform 함수"},"276":{"cat_title":"istream::read","path":"/C++ Reference/iostream","publish_date":"2019-04-19","ref_title":"read, istream::read","title":"C++ 레퍼런스 - istream::read 함수"},"277":{"cat_title":"istream::sentry","path":"/C++ Reference/iostream","publish_date":"2019-04-19","ref_title":"sentry, istream::sentry","title":"C++ 레퍼런스 - istream::sentry 클래스"},"278":{"cat_title":"istream::tellg","path":"/C++ Reference/iostream","publish_date":"2019-04-19","ref_title":"tellg, istream::tellg","title":"C++ 레퍼런스 - istream::tellg 함수"},"279":{"cat_title":"istream::seekg","path":"/C++ Reference/iostream","publish_date":"2019-04-19","ref_title":"seekg, istream::seekg","title":"C++ 레퍼런스 - istream::seekg 함수"},"280":{"cat_title":"cin, wcin","path":"/C++ Reference/iostream","publish_date":"2019-04-25","ref_title":"cin, wcin, std::cin, std::wcin","title":"C++ 레퍼런스 - cin, wcin 객체"},"281":{"cat_title":"ios_base::sync_with_stdio","path":"/C++ Reference/iostream","publish_date":"2019-04-26","ref_title":"ios_base::sync_with_stdio, sync_with_stdio","title":"C++ 레퍼런스 - ios_base::sync_with_stdio 함수"},"282":{"cat_title":"std::dec, hex, oct","path":"/C++ Reference/iostream","publish_date":"2019-04-27","ref_title":"std::dec, std::hex, std::oct, dec, hex, oct","title":"C++ 레퍼런스 - std::dec, hex, oct 조작자들"},"283":{"cat_title":"ifstream 생성자","path":"/C++ Reference/iostream","publish_date":"2019-04-28","ref_title":"ifstream::ifstream","title":"C++ 레퍼런스 - ifstream 생성자"},"284":{"cat_title":"15 - 4. C++ future, promise, packaged_task, async","next_page":"285","path":"/C++","prev_page":"271","publish_date":"2019-05-18","tex_title":"비동기 연산을 위한 도구들","title":"씹어먹는 C++ - <15 - 4. C++ future, promise, packaged_task, async>"},"285":{"cat_title":"15 - 5. C++ 쓰레드풀(ThreadPool) 만들기","next_page":"286","path":"/C++","prev_page":"284","publish_date":"2019-05-19","tex_title":"ThreadPool 만들기","title":"씹어먹는 C++ - <15 - 5. C++ 쓰레드풀(ThreadPool) 만들기>"},"286":{"cat_title":"16 - 1. C++ 유니폼 초기화(Uniform Initialization)","next_page":"293","path":"/C++","prev_page":"285","publish_date":"2019-06-23","tex_title":"C++ Uniform Initialization","title":"씹어먹는 C++ - <16 - 1. C++ 유니폼 초기화(Uniform Initialization)>"},"287":{"cat_title":"2 - 4. k 번째 원소를 찾는 알고리즘 - QuickSelect","path":"/알고리즘","prev_page":"274","publish_date":"2019-06-28","title":"모두의 알고리즘 - 2 - 4. k 번째 원소를 찾는 알고리즘 - QuickSelect"},"288":{"cat_title":"iter_swap","path":"/C++ Reference/algorithm","publish_date":"2019-06-30","ref_title":"iter_swap, std::iter_swap","title":"C++ 레퍼런스 - iter_swap 함수 (<algorithm>)"},"289":{"cat_title":"reverse","path":"/C++ Reference/algorithm","publish_date":"2019-07-02","ref_title":"reverse, std::reverse","title":"C++ 레퍼런스 - reverse 함수 (<algorithm>)"},"290":{"cat_title":"9 - 2. 가변 길이 템플릿 (Variadic template)","next_page":"221","path":"/C++","prev_page":"219","publish_date":"2019-07-08","tex_title":"가변 길이 템플릿","title":"씹어먹는 C++ - <9 - 2. 가변 길이 템플릿 (Variadic template)>"},"291":{"cat_title":"nth_element","path":"/C++ Reference/algorithm","publish_date":"2019-07-05","ref_title":"nth_element, std::nth_element","title":"C++ 레퍼런스 - nth_element 함수 (<algorithm>)"},"292":{"cat_title":"10 - 4. C++ 문자열의 모든 것 (string 과 string_view)","next_page":"230","path":"/C++","prev_page":"225","publish_date":"2019-07-17","tex_title":"C++ 문자열의 모든 것 (string 과 string_view)","title":"씹어먹는 C++ - <10 - 4. C++ 문자열의 모든 것 (string 과 string_view)>"},"293":{"cat_title":"16 - 2. constexpr 와 함께라면 컴파일 타임 상수는 문제없어","next_page":"294","path":"/C++","prev_page":"286","publish_date":"2019-08-18","tex_title":"컴파일 타임 상수 constexpr","title":"씹어먹는 C++ - <16 - 2. constexpr 와 함께라면 컴파일 타임 상수는 문제없어>"},"294":{"cat_title":"16 - 3. 타입을 알려주는 키워드 decltype 와 친구 std::declval","next_page":"295","path":"/C++","prev_page":"293","publish_date":"2019-09-15","tex_title":"decltype 와 std::declval","title":"씹어먹는 C++ - <16 - 3. 타입을 알려주는 키워드 decltype 와 친구 std::declval>"},"295":{"cat_title":"17 - 1. type_traits 라이브러리, SFINAE, enable_if","path":"/C++","prev_page":"294","publish_date":"2019-12-2","tex_title":"type_traits 라이브러리, SFINAE, enable_if","title":"씹어먹는 C++ - <17 - 1. type_traits 라이브러리, SFINAE, enable_if>"},"296":{"cat_title":"stoi, stol, stoll","path":"/C++ Reference/string","publish_date":"2019-09-19","ref_title":"stoi, stol, stoll, std::stoi, std::stol, std::stoll","title":"C++ 레퍼런스 - string 의 stoi, stol, stoll 함수"},"297":{"cat_title":"c_str","path":"/C++ Reference/string","publish_date":"2019-09-19","ref_title":"c_str, std::c_str","title":"C++ 레퍼런스 - string 의 c_str 함수"},"298":{"cat_title":"lower_bound, upper_bound","path":"/C++ Reference/algorithm","publish_date":"2019-09-20","ref_title":"lower_bound, upper_bound, std::lower_bound, std::upper_bound","title":"C++ 레퍼런스 - std::lower_bound 와 upper_bound (<algorithm>)"},"299":{"cat_title":"<utility>","path":"/C++ Reference/utility","publish_date":"2019-09-20","ref_title":"<utility>","title":"C++ 레퍼런스 - utility 라이브러리"},"300":{"cat_title":"300 번째 글을 올리면서","path":"/잡담","publish_date":"2019-09-26","title":"300 번째 글을 올리면서"},"301":{"cat_title":"move","path":"/C++ Reference/utility","publish_date":"2019-09-26","ref_title":"move, std::move","title":"C++ 레퍼런스 - std::move 함수"},"302":{"cat_title":"forward","path":"/C++ Reference/utility","publish_date":"2019-09-28","ref_title":"forward, std::forward","title":"C++ 레퍼런스 - std::forward 함수"},"test":{"publish_date":"2018-12-31"}}