Keep Going

Keep Going

[C++ STL] Set 컨테이너 사용 예제

오늘은 Set Container에 대해 알아보겠습니다. 컨테이너들 보면 다 비슷 비슷합니다..만 몇가지 특성과 함께 알아보겠습니다. 헤더파일은 아래와 같습니다. set 컨테이너는 노드 기반의 컨테이너입니다.유일한 key값을 입력 가능하며, key값은 중복될 수 없습니다. 입력된 원소는 자동으로 정렬됩니다.(오름차순 default) 선언 …

[WinAPI] 내 경로 얻기, GetModuleFileName

간혹 개발을 하다보면, 현재 실행하고있는 내 프로그램의 경로를 알아야 할 때가 있는데, 그럴 때 GetModuleFileName 함수를 사용하면 쉽게 알아낼 수 있습니다. GetModuleFileName의 원형은 아래와 같습니다. 필요한 헤더파일은 아래와 같습니다. 매개 변수에 대한 설명은 아래와 같습니다. …

[WinAPI] 현재 언어 설정 읽기 – GetUserDefaultUILanguage

오늘은 언어 설정값을 읽어오는 방법을 알아보겠습니다. 배포하는 프로그램이 다국어를 지원하는 경우, 현재 System Locale 무엇인지 알아야 합니다. 이것은 제어판 -> 시계 및 국가 -> 국가 또는 지역 -> 관리자 옵션 탭에서 시스템 로캘 변경을 눌러 알 …

[C++] template, 템플릿 사용 예제 – 2. 클래스 템플릿

이번 글에서는 클래스 템플릿에 대해 알아보겠습니다. 클래스 템플릿도 함수 템플릿처럼 만드시면 됩니다. 클래스 멤버 변수나 함수에 템플릿을 지정해주셔서 위와 같이 사용하시면 됩니다.만약 클래스 내부에 멤버 함수를 선언하고, 외부에 멤버 함수를 정의하면 아래와 같이 코딩해야 합니다. …

[C++] template, 템플릿 사용 예제 – 1. 함수 템플릿, 특수화

template는 매개변수의 타입에 따라 함수나 클래스를 생성하는 C++의 일반화 프로그래밍의 메커니즘입니다.template를 사용하면 같은 작업, 다른 매개변수에 따라 동작하는 함수나 클래스를 한번에 정의할 수 있습니다. 함수 템플릿은 다음과 같은 방식으로 사용합니다. typename키워드 대신 class 키워드를 사용하셔도 …

[C++] 각도, 길이로 원하는 좌표값 구하기

이번 글에서는 특정한 좌표에서 각도, 거리를 입력했을 때 좌표를 구하는 방법을 알아보겠습니다. 해당 방법을 알기 위해서 삼각함수(sin, cos)를 사용해야하는데 이 함수들은 매개변수로 라디안을 사용합니다.보통 일반적으로 사용하는 0도, 90도, 180도 등등은 60분법(Degree)이라 합니다. 그리고 라디안은 호의 길이를 이용한 호도법(Radian)을 …

[WinAPI] SetWindowDisplayAffinity, Application Content 보호

이번 글에서는 윈도우의 내용을 보호하는 Windows API 함수, SetWindowDisplayAffinity에 대해 알아보겠습니다. SetWindowDisplayAffinity 를 사용하기 위해선 아래 조건을 만족해야 합니다. Minimum supported client Windows 7 [desktop apps only] Minimum supported server Windows Server 2008 R2 [desktop apps only] Header winuser.h (include Windows.h) Library User32.lib DLL User32.dll SetWindowDisplayAffinity 함수 원형은 아래와 같습니다. …

[WinAPI] Compress, Decompress 압축 API 사용하기

이번 글에서는 데이터를 압축하는 Windows API를 알아보겠습니다. Compress를 사용하려면 아래 헤더파일과 라이브러리를 추가해야합니다. 압축을 위해선 우선 핸들을 만들어야 합니다. 만들어진 핸들을 이용하여 우선 압축 사이즈를 구합니다. 사이즈가 정상적으로 반환이 되면 실제 압축을 진행합니다. 압축이 모두 …