C++ - stdafx.h 파일을 찾지 못한다는 에러가 나올 때

VC++에서 프로그래밍을 할 때 컴파일 속도를 올리기 위해 대부분 ‘프리 헤더’ 파일을 사용한다. 보통 자신이 만든 소스파일을 사용할 때 문제가 없다가 외부 파일을 가져와서 사용하는 경우 또는 비슷한 행동을 하는 소스 파일 마다 별도의 디렉토리에 들어가 있는 경우 (예 DB...
더 읽기

C++ - Writing modern C++ code. how C++ has evolved over the years

몇 년전에 번역 했던 글이다. Herb Sutter씨의 2011년 “Writing modern C++ code: how C++ has evolved over the years” 강연 문서이다. 문서 하단의 설명 부분에 Herb Sutter씨의 말을 일본어로 번역된 것이 있어서 이것을 한글로 번역했다. Herb Sutter씨의 강연 동영상은 https://www.youtube.com/watch?v=Kghns7c8Ij8...
더 읽기

C++ - NEW 구현

출처 new는 인수로 사이즈를 받지만 표준 new는 size가 0에서도 올바르게 동작하는 것을 규격으로 정하고 있다. 직접 구현 할 때에 의식하면 약간으로 규격에 준한 코드가 되어서 좋다. void* operator new(std::size_t size) { if (size == 0) { size = 1; }...
더 읽기

C++ - Argument Dependent Lookup

출처 C++ 언어가 가진 화려한 기구의 하나로 ADL(Argument Dependent Lookup)라는 것이 있다. 번역하면 “실 매개 변수 의존 이름 검색”으로 읽고, 글씨처럼 “실 매개 변수”에 의존하는 “이름 검색”이 된다. ADL의 동작 코드를 보면서 차례로 이해해 보자. int main() { func(); return...
더 읽기

C++ - 배열 참조

출처 배열 참조는 배열보다 안전한 속도 면에서 유리하다 !!! int *a[1]; // (1) int (*a)[1]; // (2) int &a[1]; // (3) int (&a)[1]; // (4) 이 4개의 차이점은 ? (1)은 모두 알다시피 int의 포인터의 배열이다. (2) int 배열의 포인터이다. (3)은...
더 읽기