C++ - 쓰레드
C++ 쓰레드 1. 개요 C++에서 쓰레드(thread)란 하나의 프로세스 내에서 독립적으로 실행되는 흐름을 말한다. 쓰레드를 이용하면 CPU 자원을 효율적으로 활용하여 동시에 여러 작업을 수행할 수 있다. C++11부터는 헤더를 통해 표준 라이브러리 차원에서 쓰레드를 지원하며, 운영체제별 네이티브 쓰레드를 추상화하여 제공한다. 1) 장점 병...
C++ 쓰레드 1. 개요 C++에서 쓰레드(thread)란 하나의 프로세스 내에서 독립적으로 실행되는 흐름을 말한다. 쓰레드를 이용하면 CPU 자원을 효율적으로 활용하여 동시에 여러 작업을 수행할 수 있다. C++11부터는 헤더를 통해 표준 라이브러리 차원에서 쓰레드를 지원하며, 운영체제별 네이티브 쓰레드를 추상화하여 제공한다. 1) 장점 병...
C++ 상속 1. 개요 상속이란 객체 지향 프로그래밍에서 부모 클래스(슈퍼 클래스)에서 자식 클래스(서브 클래스)로 클래스의 속성과 메서드를 물려주는 것을 말한다. 부모 클래스에서 정의된 속성과 메서드는 자식 클래스에서 사용가능하며, 부모 클래스에서 받은 메서드를 다시 정의할 수도 있다. 위 구조를 잘 사용하면 성능과 유지보수에 좋으며 아래와 같은...
C++ 예외처리 1. 개요 C++의 예외 처리(Exception Handling)는 프로그램 실행 중 발생할 수 있는 오류(예외 상황)를 분리하고, 이를 포괄적이고 안전하게 다루기 위한 메커니즘이다. 전통적인 오류 코드는 반환값이나 전역 변수로 처리하지만, 예외 처리를 이용하면 오류 발생 지점을 호출 지점으로 강제 전파하고, 집중된 위치에서 일괄 처...
C++ 템플릿 1. 개요 코드는 같은데 자료형만 다른 것을 컴파일러가 만들어주는 것이다. 딱히, 성능에는 이득이 없고 개발자만 편한 기능이지만 이 기능은 매우 많이 사용되고 있다. 2. 템플릿 함수 템플릿 함수는 함수의 매개 변수 또는 구현에 사용되는 자료형을 결정하여 생성한다. 일반적으로는 {반환형} {함수 이름} ( {매개변수} ) { {함수...
C++ 자주 쓰는 STL 1. STL 개요 STL(Standard Template Library)는 프로그래밍 언어를 위해 처음 설계한 소프트웨어 라이브러리이다. 원래라면 C++에만 있는건 아니라는 뜻이다. 하지만 C++ 표준 라이브러리에 많은 영향을 끼쳤으며 이는 컨테이너, 알고리즘, 반복자, 기능으로 구분된다. 1) 컨테이너(Container...
C++ 클래스 1. 개요 기본적으로는 특정 객체를 생성하기 위한 틀과 같다. 클래스를 정의하고 해당 클래스로 객체를 만들어야 비로소 사용할 수 있다. 기본적으로 객체 지향 프로그램에서 빠질 수 없는 기본중의 기본으로 C++에서도 당연히 클래스를 지원한다. C++ 에서 클래스는 두가지 관점으로 나눠서 생각할 수 있는데, 값처럼 사용하는 것이 첫번...
C++ 파일 입출력 파일 입출력을 할 때 C 형식으로 받아오고 쓰는 경우가 많아서 C++ 형식으로는 어떻게 하는게 좋은지 정리를 하려고 한다. 1. 도입 우리가 어떤 제품으로써 프로그램을 짜게되면 필연적으로 파일을 다루게 된다. 여기서 말하는 파일이란 txt와 같은 텍스트 파일을 말할 수도 있고, 특정 포맷으로 이루어진 바이너리 파일일 수도 있다....
C++ 함수 1. 선언 1) 기본형 기본적으로 c++에서 함수의 선언 형태는 아래와 같다. {반환 자료형} {함수이름} ( {매개변수들}); 기본적인 선언은 위와 같고 이후 별도로 함수 내용을 정의하거나, 끝에 세미콜론 대신 아래와 같이 정의할 수 있다. int sum (int a, int b) { return a+b; } 반환형이 vo...
C++ 문자, 문자배열, 문자열 1. 문자 기본적으로 아스키코드 문자라면 1개당 1byte를 요한다. 인터넷 웹페이지에서 사용하는 UTF-8은 영문의 경우 1byte이고 한글이나 한자는 3byte이다. 한글 문자 인코딩 표준은 KS X 1001, EUC-KR에 따라 2byte 문자로 처리된다. 그래서 만약 한국어 문자를 입력하고 싶다면 char 형으...
C++ 조건 분기문, 반복문 1. 조건 분기문 특정 조건이 만족하면 해당 문을 실행하고 만족하지 않으면 해당 문을 실행하지 않는 조건 분기문이다. 1) if else 대부분의 언어들이 if 식별자를 지원하며, C++ 역시 마찬가지이다. // 단일 조건 if({조건}) { } // if 안의 값이 아닐 경우 나머지 처리 if({조건}){ } e...