Home
Star-Jade Park
Cancel

A Tour of C++ - Reading Notes

아래 링크의 번역문입니다. https://ianyepan.github.io/posts/cpp-notes-pt1/ https://ianyepan.github.io/posts/cpp-notes-pt2/ 다음은 내가 현재 Columbia University에서 C++ 코스에 등록한 Bjarne Stroustrup 교수의 “A Tour ...

Wrapping(래핑), Binding(바인딩)과 Porting(포팅) 차이점

reference link: https://stackoverflow.com/a/8628481/13153152 Wrapping 이미 제공되고 있는 함수, 클래스 등의 기능들을 다른 인터페이스로 사용할 수 있게 만드는 것. 보통 같은 언어로 작성 원래 코드를 재작성하지 않고 향상된 기능(인터페이스)을 제공할 수 있음 빠르게 목표 달성이 ...

Windows 구조

한주성, 『구조를 알아야 개발이 보인다: 윈도우 편 C++로 풀어보는 윈도우 구조』, 비제이퍼블릭를 요약한 글입니다. Wikipedia, MSDN 등을 참조하여 내용을 보충하였습니다. 윈도우 기본 개념 이해하기 OS 기본 지식에 해당하는 부분이 많음 ⭐ 표시된 항목은 이 책에서 꼭 알아야 한다고 강조한 요소에 해당 함 ⭐ 유저 ...

std::unordered_map(Hash map) 구현해보기

ref: https://en.wikipedia.org/wiki/Hash_table ref: https://github.com/aozturk/HashMap HashMap이란 C++에서 std::unordered_map으로 알려진 HashMap에 대해 알아보겠습니다. Map 자료구조 우선 std::map의 기본 구조 부터 알아봅시다. K...

템플릿 메타 프로그래밍과 constexpr 간단 비교

여기서는 템플릿 메타 프로그래밍(이하 TMP)와 constexpr에 대해 알아보지 않습니다. constexpr이 왜 등장했는지에 대한 제 의견과 constexpr을 어떻게 사용해야 할 것인가에 대한 글입니다. 추가 1. constexpr에 대해 잘 정리한 글을 덧붙입니다. http://egloos.zum.com/sweeper/v/31478...

람다(Lambda) 기초와 사용법

모던 C++에서 도입된 람다식(Lambda Expressions)에 대해 간단히 알아보는 글입니다. 람다란 이름이 없는 함수 Object nested(내포되는) 함수 형태 [<captures>](<parameters>) <specifiers> -> <return_type> { &lt...

C++ lvalue와 rvalue 같은 value 카테고리에 대해

시작하기 전에 표준에 정의된 각 value들을 짧게 알아보는 수준으로 작성하였습니다. 본문은 MSDN의 Lvalues and Rvalues (C++)를 번역과 일부 재편집을 하였습니다. evaluation는 평가라는 뜻입니다. 이 글에서는 값을 결정한다는 의미로 두고 따로 번역하지 않겠습니다. (값 ...

C++ 버전별로 조건부 컴파일하는 방법 (MSVC)

C++는 언어 버전에 따라 지원하는 기능이 달라집니다. 당신이 라이브러리를 작성하거나 사용하는 경우라고 해봅시다. 지원할 버전이 특정한 경우라면 별 문제 없이 해당 버전의 스펙에 따라 작성하면 됩니다만, 여러 버전을 지원할 경우(대표적인 예로 STL과 같은 범용적인 라이브러리가 있습니다.) 언어 버전별로 작성할 코드가 달라집니다. 자, 그럼 MSVC ...

델타 타임(Delta time) 계산하기 - 게임에서 시간을 계산하는 방법

게임에서 시간 계산 게임에서 발생하는 물리 현상(캐릭터 이동부터 물체 파괴까지)은 시간에 영향을 받습니다. 그러면 어떻게 컴퓨터에서 시간을 정확하게 계산할 수 있을까요? 컴퓨터 성능에 의존하는 경우 일반적으로 이와 같은 상황에서 언급되는 함수는 Sleep입니다. Sleep은 밀리세컨드(milliseconds) 단위로 ‘지연’하는 함수입니다. ...

shared_ptr 직접 구현해보기

Reference Class Reference 클래스는 레퍼런스 카운트를 가지며 이를 통해 생성된 객체를 관리합니다. Shared_ptr Class shared_ptr는 템플릿 클래스입니다. new로 생성한 객체의 포인터를 가지는 클래스이며 Reference클래스를 반드시 상속 받아야만 사용 가능하게 작성했습니다. operator=, ...