본문 바로가기
반응형

STL4

[개발/STL] vector, list, map #include #include #include Vector: 시퀀스 컨테이너, 연속 메모리 기반 컨테이너 1. 메모리가 증가할 때 현재 메모리의 1.5배로 증가.2. 삽입, 삭제보다는 검색에 용이하다.3. 삽입, 삭제시에는 메모리를 재할당하고 컨테이너를 복사해야 한다.4. 배열은 정적이지만, 벡터는 동적이다. 랜덤 지정 엑세스 연산자를 지원하기 때문에 접근이 빠르다는 장점이 있다. 배열의 특성을 가지고 있기 때문에 메모리의 중간에서 삽입, 삭제는 굉장히 불편하다. 굳이 구현은 가능하지만, 비효율적이다.#include vector vec1;vector* vec2 = new vector; -List: 시퀀스 컨테이너, 노드 기반 컨테이너 1. 삽입, 삭제에 용이하다. 배열이나 벡터처럼 연속적인 메모리 구조.. 2013. 4. 26.
[개발/VC] 맵(Map)클래스 사용법 [C++]맵(Map) Class 사용법 [출처] 인터넷 1. 맵(Map)이란? 맵(Map)은 set, multiset, multimap등과 같이 STL이 제공하는 자료형 중 하나이다. 2. 맵(Map)의 특징 첫번째, 두 개의 요소가 한 쌍을 이루어 하나의 자료를 이룬다. 첫 번째 요소는 first로써 인덱스이고, 두 번째 요소는 second로써 데이터이다. 그러므로, 인덱스와 데이터가 분리된 상태이며 독립적으로 자료형을 지정해줄 수 있다. 두번째, 반복자(iterator)와 배열 첨자를 사용하여 접근할 수 있다. 세번째, 자동적으로 정렬된 상태를 유지한다. 만약에 정렬할 수 없다면 출력 순서는 먼저 입력된 것이 가장 나중에 출력된다. 네번째, 인덱스가 중복되서 추가를 한다면, 기존의 데이터는 없어지고 .. 2011. 9. 22.
[개발/MFC] error C2665: 'operator new' : 5개의 오버로드 중 ... [개발/MFC] error C2665: 'operator new' : 5개의 오버로드 중 ... 쌈꼬쪼려 소백촌닭 Visual Studio VC++ 작업중 (MFC) 디버깅 모드로 컴파일 중에 아래와 같은 에러 메시지가 나오는 경우가 발생할 수 있다. 그런데 에러의 위치를 찾을 수가 없다. 아래 메시지를 더블 클릭하면 xmemory.h 파일로 이동을 한다. error C2665: 'operator new' : 5개의 오버로드 중 모든 인수 형식을 변환할 수 있는 오버로드가 없습니다. 이 에러에 대해서 대처할 수 있는 방법은 아래와 같다. MFC와 STL 사이에 문제로 생각된다. MFC에서 클래스를 만들면 파일 위쪽에 아래와 같은 코드가 자동으로 만들어 진다. #ifdef _DEBUG #define new.. 2011. 5. 19.
[VC++] C++ 모든 자료형 정리( 문자열 ) LPSTR : char * LPCSTR : const char * LPCTSTR : const char * 또는 const WCHAR * WORD : 보통 2바이트의 부호없는 정수형 (*.word형을 string형으로 바꾸기 string := IntToStr(word); ) DWORD : 4바이트의 부호없는 정수형 DWORD unsigned long 그럼, WORD와, int의 차이점은... WORD는 4글자 int는 3글자 typedef unsigned short WORD; //WORD는 예약어가 아니죠 (typedef는 변수부분) (cf.define은 전처리 부분) *.단순참고 char, unsigned char, signed char : 1 byte short, unsigned short : 2 b.. 2010. 9. 30.
반응형