C++(26)
-
C++ 소소한 에러 / 콘솔창 / SDK 버전
가끔 아무런 에러도 없는데 visual studio에서 빌드 오류를 뱉어내는 경우가 있는데 이 경우에는 SDK버전을 체크해보면 된다. 프로젝트 -> 프로젝트 속성의 페이지를 확인해 볼 것. 콘솔창이 바로 꺼지는 것은 링커 -> 시스템 -> 하위시스템 -> 콘솔을 등록해두면 바로 꺼지지 않는다.
2021.08.16 -
C++ 조건부 컴파일
조건부 컴파일 (conditional compile) 1) 정의 - 소스코드를 조건에 따라 선택적으로 컴파일하는 전처리 지시자 2) 종류 (1) #if ~ #endif [사용법] #if 조건식 컴파일할 문장 #endif - 가장 기본적인 조건부 컴파일 - #if문의 조건식이 참이면 #if와 #endif 사이의 모든 문장을 컴파일한다 //-------------------------------------------------------------- (2) #if ~ #else ~ #endif [사용법] #if 조건식 컴파일할 문장 1 #else 컴파일할 문장 2 #endif //--------------------------------------------------------------..
2021.08.16 -
C++ 전처리 지시자
// include(전처리 지시자) 1. 개요 - 지정한 파일의 내용을 불러와 지시자(include)가 있는 위치에 붙여놓는다. 2. 사용법 #include or #include "파일명" -> 붙여넣을 파일명 꺾쇠괄호나 큰 따옴표로 묶는다. 3. 꺾쇠괄호와 큰따옴표의 구분 - 꺾쇠괄호 : 컴파일러가 설정한 include 디렉토리에서 찾는다. - 큰따옴표 : 소스 파일이 저장된 디렉토리에서 먼저 찾는다. 4. 특징 - 프로그램을 깔끔하고 편하게 작성할 수 있다. - 하나의 프로그램은 독립적으로 컴파일이 가능한 파일 단위인 모듈(module)로 나누어 분할 컴파일한다. - 각 모듈이 같이 사용하는 구조체나 함수 또는 전역 변수의 경우, 각 선언을 하나의 헤더 파일로 만들면 필요한 모듈에서 쉽게 ..
2021.08.16 -
C++ STL
// 표준 템플릿 라이브러리(STL, Standard Template Library) - 일반화 프로그래밍(Generic Programming)을 기반으로 하는 한다. - 자료구조와 알고리즘을 중시 ※ 일반화 프로그래밍 : 데이터를 중시하는 객체 지향 프로그래밍과 다르게, 프로그램의 알고리즘에 중점을 두는 방식 ※ 템플릿 : 매개변수의 타입에 따라 함수나 클래스를 생성하는 매커니즘 타입이 전달받는 매개변수의 형태에 따라 자동 변형되어 처리된다. 1. 반복자 (iterator) : 컨테이너에 저장된 요소를 반복적으로 순회하여 각 요소에 대한 접근을 도와준다. 2. 컨테이너 (container) : 같은 타입의 여러 객체를 저장하는 집합. 3. 알고리즘 (algorithm) ======..
2021.08.14 -
C++ PlaySound
#include // PlaySound 함수 호출 및 사용을 위해 특정 라이브러리 불러오기 #include #include // 추가한 라이브러리를 여기로 링크 #pragma comment(lib, "winmm.lib") using namespace std; int main() { PlaySound(TEXT("background.wav"), NULL, SND_ASYNC|SND_LOOP); int i; cin >> i; return 0; } // WinAPI에서 기본 제공하는 PlaySound 함수를 이용하여 wav 포맷 파일 재생 // PlaySound(TEXT(사운드 파일명 경로), 리소스를 보유한 실행파일의 핸들, 플래그); /* SND_ASYNC : 비동기식 재생. 사운드 ..
2021.08.14 -
C++ 클래스와 정보은닉
// 1. 정보 은닉에 대하여 - 구조체의 멤버는 외부 어디에서라도 접근 가능 - 하지만 클래스는 객체 지향 프로그래밍의 기본 규칙을 준수해야 하므로 정보 은닉도 고려해야 한다. // 2. 접근 제어(access control) - 정보 은닉을 위해 접근 제어라는 기능을 제공 - 접근 제어 지시자를 통해 클래스 외부에서의 직접적인 접근을 허용하지 않도록 도와줌 1. public - 멤버(함수 또는 변수)가 외부로 공개 - 객체(이 클래스를 기반으로 만든)를 사용하는 프로그램의 - 어디에서나 직접 접근 가능 2. private - 외부 접근 뿐만 아니라 파생 클래스로부터의 접근까지 모두 차단. - 클래스를 선언할 때 지시자를 쓰지 않으면 기본적으로 private로 간주. - 생략 가능. 3. pro..
2021.08.12