최근 포스트

C++ 동적 메모리

6 분 소요

동적 메모리 C++는 C와 마찬가지로 프로그래머가 모든 상황을 잘 알고 있다고 여기고 자유를 최대한 보장한다. 언어 자체가 굉장이 유연하다. 그리고 안정성이 떨어지는 것을 감수하고 성능을 추구하기 때문에 심각한 문제가 발생할 가능성이 있는 일도 얼마든지 할 수 있다. 특히 메모...

c++ 유니폼 초기화

2 분 소요

유니폼 초기화 C++11 이전에는 타입의 초기화 방식이 일정하지 않았다. 예를 들어 다음과 같이 원을 정의할 때 한 번은 구조체로, 한 번은 클래스로 작성한 경우를 살펴보자

c++ std::atomic

3 분 소요

std::atomic 아토믹 타입(atomic type)을 사용하면 동기화 기법을 적용하지 않고 읽기와 쓰기를 동시에 처리하는 아토믹 접근(atomic access)이 가능하다. 아토믹 연산을 사용하지 않고 변수의 값을 증가시키면 스레드에 안전하지 않다. 컴파일러는 먼저 메모리...

c++ std::mutex

2 분 소요

std::mutex C++11 C++11 에서 std::thread가 등장하면서 std::mutex 가 추가되었다. std::mutex클래스는 여러 스레드가 동시에 액세스하는 공유 데이터를 보호하는 데 사용할 수 있는 동기화 기본 요소다. mutex는 독점적이...

c++ std::thread

3 분 소요

std::thread 윈도우와 리눅스에서 각각의 스레드 생성 방법이 있었지만, std::thread가 C++11 부터 등장하였다. thread는 오브젝트에 할당되자마자 즉시 실행된다. (OS의 scheduling delay 이후 실행된다.)