목록전체 글 (150)
개발하는 리프터 꽃게맨입니다.
이전글https://powerclabman.tistory.com/118 [멀티스레드 프로그래밍] C++ 동시성 프로그래밍 개론참고사항C++ : Concurrency In Action (원서) 바탕으로 적은 글 입니다.해당 포스팅은 해당 저서의 번역보다는 번역 및 (제 기준으로) 이해하기 쉽도록 재구성한 부분이 다수 있습니다.주의해서 읽으시powerclabman.tistory.com 애플리케이션에 동시성을 사용하기로 결다. 특히, 다수의 스레드를 사용하기로 했다. 이제 어떻게 해야할까? 이 스레드들을 어떻게 시작하고, 완료되었는지 어떻게 확인하며, 어떻게 관리해야할까? C++ 표준 라이브러리는 주어진 스레드와 관련된 std::thread 객체를 통해 대부분의 스레드 관리 작업을 쉽게 수행할 수 있도록 한다..
most vexing parse 이하 성가신 파싱은 선언으로 해석할 수 있는 것은 선언으로 해석해야 한다.는 규칙이다.예를 들어 아래같은 코드를 보자. 여기서 MyClass a() 를 생각해보자.이 구문은 2가지로 해석될 여지가 있다. 1. 함수 선언2. 객체의 생성 (기본생성자 호출) 그런데 '성가신 파싱'에 의해 무조건 '선언'으로 해석된다. 분명 생성자는 호출했다고 생각했는데생성자가 호출이 안된 것을 볼 수 있다. 따라서 '성가신 파싱'을 회피하기 위해서 객체를 선언하고 싶다면 언제나 중괄호 초기화를 사용하는 것을 권장한다.
참고사항C++ : Concurrency In Action (원서) 바탕으로 적은 글 입니다.해당 포스팅은 해당 저서의 번역보다는 번역 및 (제 기준으로) 이해하기 쉽도록 재구성한 부분이 다수 있습니다.주의해서 읽으시길 바랍니다. 필수 사전지식C++ 에 대한 전반적인 이해 권장 사전지식운영체제에 대한 기본적인 이해하드웨어, 프로세서 및 스레드에 대한 기본적인 이해동기화 및 교착상태(Deadlock)에 대한 기본적인 이해 C++11 표준에서 가장 눈여겨봐야할 새로운 기능 중 하나는 멀티스레드 프로그래밍에 대한 지원이다.C++ 표준이 처음으로 언어 내에서 멀티스레드 응용 작성을 위한 라이브러리의 구성 요소를 제공하게 되었는데,이를 통해 운영체제나 플랫폼에 종속되지 않고 멀티스레드 C++ 프로그램을 작성할 수 ..
솔직히 어디에 쓸지 좀 애매한 감이 있었는데며칠전 잘 구조화된 코드를 보고 아! 유니온은 이렇게 쓰는 거구나!탁 뭔가 시야가 트인 느낌입니다. 해당 코드는 3x3 매트릭스에서행렬에 접근하는 모습을 담고 있습니다.e11 ... e33은 _matrix와 완전히 동일한 메모리 주소 공간을 사용합니다. 역시 좋은 코드는 보는 것 만으로 참 배울게 많은 것 같습니다.
공부 목적으로 직접 만들어서 사용하고 있습니다.지금은 그냥 복붙 형식으로 올리는 데 나중에 깃허브로 정리해서 재업로드 하겠습니다.아마 공부 진도에 따라 더 업데이트 될 겁니다. 현재는 3차원 벡터만 있습니다. 1. Vector3D.h더보기#pragma once class Vector3 { public: // 생성자 inline constexpr Vector3(void) : _x(0.f), _y(0.f), _z(0.f) {} inline explicit constexpr Vector3(float x, float y, float z) : _x(x), _y(y), _z(z) {} inline explicit constexpr Vector3(int32 x, int32 y, int32 z) : _x((float)..