본문 바로가기
반응형

C++17

[c++] STL 이란? STL 이란? Standard Template library의 약자이다. 프로그램에 필요한 자료구조와 알고리즘을 제공하는 라이브러리이다. STL의 구성요소 1. Container 객체를 저장하는 자료구조 2. Iterator 포인터와 비슷한 개념으로 컨테이너의 원소를 가리킨다. 각 타입에 ::iterator 또는 ::const_iterator 를 붙여 사용할 수 있다. const_iterator는 반복자가 가리키는 원소의 값을 변경하지 못한다. 3. Algorithm 컨테이너의 원소에 대해 작업할 수 있는 여러가지 함수의 정의이다. 2021. 8. 18.
[c++] 스택(Stack)과 힙(Heap) 스택(Stack)과 힙(Heap)의 메모리적 특징과 차이점을 알아보자. 먼저 메모리구조에 대해 알아보자. 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다. 또한, 프로그램에서 사용할 변수를 저장할 메모리가 필요하다. 대표적인 메모리 공간 4가지에 대해서 알아보자. 1. Code 영역 실행할 프로그램의 코드를 저장하는 영역이다. cpu는 코드영역에 저장된 명령어를 하나씩 처리한다. 2. Data 영역 프로그램의 전역 변수와 정적변수를 저장하는 영역이다. 프로그램의 시작과 함께 할당되고 프로그램 종료와 함께 소멸된다. 3. Stack 영역(값 형식) 함수의 호출과 관련된 지역변수와 매개변수를 저장하는 영역이다. 함수의 호출과 함께 할당되고 함수의 완료와 함께 소멸된다. 스택영역에 저장되.. 2021. 8. 16.
[c++] 포인터와 레퍼런스 포인터(Pointer)는 메모리의 주소를 저장하는 변수로 간접참조를 한다. 레퍼런스(Reference)는 참조대상을 그래도 할당받아 해당 변수를 대신할 수 있다.[별칭] 둘의 차이점을 4가지로 나누어 보려고 한다. 1. NULL 허용 여부 포인터는 NULL 값을 할당 받을 수 있기 때문에 사용할때 항상 NULL값 체크를 해주는것이 좋다. 레퍼런스는 선언과 동시에 초기화하지 않으면 컴파일 오류가 발생함으로 NULL값을 할당 받을 수 없다. 2. 참조 대상 할당 포인터는 참조 대상의 주소값을 할당 받는다. 레퍼런스는 참조 대상 그대로를 할당 받는다. int a =10; int* p = &a; int &r = a; 3. 접근 방법 포인터는 "*, ->" 등 포인터 연산자를 사용하여 접근해야한다. 레퍼런스는 일.. 2021. 8. 9.
[Win API] 오목게임 // WinStudy_20200407_4.cpp : 애플리케이션에 대한 진입점을 정의합니다. // #include "framework.h" #include "WinStudy_20200407.h" #define MAX_LOADSTRING 100 // 전역 변수: HINSTANCE hInst; // 현재 인스턴스입니다. WCHAR szTitle[MAX_LOADSTRING]; // 제목 표시줄 텍스트입니다. WCHAR szWindowClass[MAX_LOADSTRING]; // 기본 창 클래스 이름입니다. // 이 코드 모듈에 포함된 함수의 선언을 전달합니다: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESUL.. 2020. 4. 8.
반응형