Lusain's Blog ─ Programing & Novel Review +

Sources

Posts

42 posts

[C++] 흔히 변수로 쓰일만한 이름이지만 STL에서 사용중인 이름들

학교에서 흔히 'sing namespace std; 를 사용하지 말라고 하는 이유로 '다른 이름과 겹칠 수 있어서'를 대는데, 과연 표준 함수들은 얼마나 겹치기 쉬운 이름들을 쓰는 것일까? 한 번 알아보자. 우선, 기준을 정하자면표준 함수(네임스페이스 내부) 또는 클래스일 것사용자가 변수로 자주 쓰거나, 흔히 쓰이는 API에 동일한 이름의 함수가 있을 것 정도. 경험 상 이야기라 대체로 동일한 이름의 함수는 WinAPI이다(...) size size() 함수는 배열 또는 STL Container의 크기를 반환하는 표준 함수이다. next & prev 둘 모두 인자로 반복자와 오프셋 값을 받으며, 반복자를 오프셋만큼 떨어진(next는 뒤로, prev는 앞으로) 위

[C++] 변수를 읽어보자

C++을 어렵게 하는 요소 중에는 변수를 읽는 방법이 난해하다는 점이 있고, 그 비중은 꽤 클 것이다. 변수를 읽는 법은 입문 직후가 아니라 어느 정도 C++을 했다 싶은 사람들의 발목을 잡는다. 입문자는 int*가 무엇인지 모르지만 이건 포인터를 모르는 거지 이를 읽는 방법을 모르는 것이 아닐 것이다. 예를 들어보자. 포인터로 int 타입의 값을 인자로 넘겨받아 확인하고 싶다. 참조하는 값을 변경하고 싶지 않아서 const를 붙이려고 한다. 어떻게 써야 할까? const int * int * const int const * int const * const 정답은 2번을 제외한 전부이다. 결론만을 말하자면, 1번과 3번은 완전히 동일한 타입이고 4번 역시 참조만 목적이면 사용이 가능하다

C++'s Move Semantics

C++’s move semantics from Lusain Kim 학내 강연을 목적으로 만든 PPT입니다.C++의 이동의미론이 주제지만 C++의 참조에 대해 이야기를 다루었습니다.질문이나 건의 사항은 댓글 혹은 [email protected] 으로 부탁드리겠습니다.

Windows 10의 테마 컬러 얻기(C++)

Windows 10의 테마 컬러 얻기(C++)

Windows 8부터 테마 색이라는 게 생겼는데(그 이전일 수도 있다), 이름 그대로 Windows 전반에서 색이 들어가는 곳에 통일된 색을 사용한다. 이 색을 어떻게 얻을까? 내가 찾은 방법은 UWP(UniversalWindows Platform)을 사용하는 것이다.UWP 코드는 Microsoft 확장 C++(C++/CLI → C++/CX;현재 명칭) 또는 C#(권장)으로 구현되었기 때문에, nativeC++(C++/CLR)에서는 사용하지 못한다. 혹시라도 사용하는 방법이 있다면 댓글로 남겨주면 고맙겠다. 우선, 테마 색을 얻는 코드를 보자. MSDN에 C#으로 잘 나온다. htt

[C++11] R-Value와 이동 의미론(move semantics)

C++11이 되며 일반적으로 값으로 알고 있던 개념을 L-Value와R-Value로 분류하였다. L-Value와 R-Value는 다음과 같이 생각하면 된다. int I = 5; 에서, L-Value i 이름이 있고 지속되는 값 R-Value 5 해당 줄에서만 살아있는 임시 값 추가적으로, int i = make_int( 10 ); 이라는 코드에서 make_int( 10 ) 역시 R-Value이다. 이름을 가지지 않았고, 지속되지 않기 때문이다. + 가장 단순한 R-Value 확인 방법은 앞에 주소 연산자(&)를 붙여보는 것이다.   R-Value는 지속되지 않기 때문에 L-Value 참조를 할 수 없다. R-Value를 지원하게