C++ 97

SDK - 윈도우 프로그래밍 기본창 띄우기 소스 및 분석 (mfc, api 예제 )

#include // WinMain 함수에서참조하므로함수원형을선언한다. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) // winmain 에는가지특성을지님 // 1. 윈도우클래스를초기화및등록 // 2. 윈도우클래스참조해서윈도우만들고출력 // 3. 윈도우가끝나면안되니깐메시지루프 { WNDCLASS wndclass; HWND hwnd; MSG msg; /***** 1단계*******/ // 윈도우클래스를초기화하고운영체제에등록한다. // 윈도우클래스는구조체로필드는10개이다. wndclass...

C++/summary 2010.11.09

HelloSDK 예제를 해보자.

n SDK 프로그램 기본 골격 ① 윈도우 클래스를 정의(초기화)하고 운영체제에 등록함 ② 윈도우를 생성하고 화면에 보이게 함 ③ 메시지 루프를 구동함 ( 여기까지 모든 프로그램이 공통으로 가진다. ) ④ 윈도우 프로시저에서 메시지를 처리함 (메시지 핸들러 모음 || 여기서 실제 프로그램이 이루어진다.) 만드는법 1. win32 애플리 케이션 선택 2. 소스작성.

C++/summary 2010.11.08

윈도우 프로그래밍 기초.

윈도우 운영체제와 윈도우 응용 프로그램의 특징을 이해한다. SDK 응용 프로그램의 작성 과정과 기본 구조 및 동작 원리를 이해한다. MFC 응용 프로그램의 작성 과정과 기본 구조 및 동작 원리를 이해한다. 비주얼 C++ 개발 환경의 사용법을 익힌다. 윈도우 운영체제의 특징 기본적인 윈도우 창. GUI 메모리 구동 구조. 시스템 메시지 큐, 응용프로그램 메시지 큐 2가지가 존재한다. n 멀티태스킹과 멀티스레딩 — 멀티태스킹(Multitasking) – 운영체제가 여러 개의 응용 프로그램을 동시에 실행 — 멀티스레딩(Multithreading) – 응용 프로그램 내부에서 여러 개의 실행 흐름(=스레드)을 동시에 진행 윈도우 응용 프로그램의 특징 n API 호출문 집합 — 윈도우 API(Application ..

C++/summary 2010.11.08

STL 알고리즘 transform || remove || sort || 함수객체(함수자)

find() for_each() find_if() 중에 함수 형식이 다른것은?? find() 이건 함수 전달이 없다. vector vec(10) 이렇게 생성자를 통한 생성없이 만들려면..... vector vec 이렇게 한다면 공간이 없기때문에 push_back을 통해서 반드시 넣어야한다. transform은 컨네이어를 하나로 이동하는것이지만 컨테이너 a,b 를 가져와 가공해서 -> c로 복사한다. transform(a.begin(), a.end(), b.begin(), func) transform(a.begin(), a.end(), b.begin(), c.begin(), func ) -> 이렇게 만든다. func의 타입은 전달값은 가져오는 컨테이너 타입 - >전달값은 a,b 두개를 가져야한다. 반환값은..

C++/summary 2010.11.03

STL알고리즘 - binary_search() || eual()

·이진 탐색: · 정렬된 리스트에서 만약 찾고자 하는 원소가 중간 원소보다 크면 찾고자 하는 원소는 뒷부분에 있고 반대이면 앞부분에 있다. #include #include #include #include using namespace std; int main(){ int value1[9] = {1,2,3,4,5,6,7,8,9}; int value2[9] = {9,9,3,4,5,9,9,9,9}; vector vec1(&value1[0], &value1[9]); vector vec2(&value2[0], &value2[9]); bool isEqual = equal(vec1.begin()+2, vec1.begin()+5, vec2.begin()+2 ); cout

C++/summary 2010.11.01

STL 알고리즘 Count

타입재정의 typedef int size_t; size_t a; // int a 콜백 함수이다. - > count_if (반복자, 반복자, 함수주소) 함수 안에서 또 다른 함수를 불러온다. #include #include #include #include using namespace std; template bool is_even(const T& num){ return (num % 2) == 0; } bool is_blank(char c){ // 공백을구하는함수. if( c==' ') return true; else return false; } void main(){ char *s = "I go to the school"; vector vec; for(int i=0; i

C++/summary 2010.11.01

STL 알고리즘 & 종류모음 & find ()

반복자 : 포인터 클래스 : 데이타 타입 string : char* 백터 : 배열 ->차이점? 미리 만들어진 함수등을 사용 할 수 있어서 쉽게 접근및 연산이 가능하다. ·STL 기반의 탐색(searching), 정렬(sorting), 계수(counting) 알고리즘 알고리즘은 방법일뿐 자료는 컨테이너에 있다, 이에 접근하기 위해서 반복자를 사용 불변경 알고리즘 변경 알고리즘이 존재한다. 알고리즘의 종류 접근하기 위한 반복자 ·컨테이너에서 다음 요소를 가리키기 위한 ++ 연산자 ·컨테이너에서 이전 요소를 가리키기 위한 -- 연산자 ·두개의 반복자가 같은 요소를 가리키고 있는 지를 확인하기 위한 ==와 != 연산자 ·반복자가 가리키는 요소의 값을 추출하기 위한 역참조 연산자 * ·v.begin() 함수는 컨..

C++/summary 2010.10.27

STL 컨테이너의 종류 & 반복자

60% vectort(스마트배열) List(삽입삭제 빈번할때) 30% stack(LIFO) queue (FIFO) 10% map(자료 검색에 용이) set() 반복자는 스마트 포인터이다. 컨테이너 안에 데이타에 접근을 위한 방법인데, 연산이 가능하도록 하였다. it++ -> 다음 값을 가리킴. 컨테이너의 종류에 상관없이 접근이 가능하다. 알고리즘에 접근하기 위해서도 반복자를 사용한다. 컨테이너 종류에 상관받지 않도록 하기 위해서...

C++/summary 2010.10.27