이미 소장하고 있다면 판매해 보세요.
|
1. 타입 (Type) 1-1. 디지털화 1-1-1. 디지털 대상 1-1-2. 프로그래밍 대상 1-2. 정수 타입 1-2-1. 부호 없는 정수 (unsinged type) 1-2-2. 부호 있는 정수 (singed type) 1-2-3. 2의 보수법 (2's complement) 1-2-4. 타입 별 최소값 최대값 1-2-5. 비트 이동 연산자 (Shift Operator) 1-2-6. 컴파일러 상수 한계 1-2-7. 데이터 모델 1-2-8. long long format control 1-3. 부동소수점 타입 1-3-1. 고정소수점과 부동소수점 1-3-2. 부동소수점과 2진법 1-3-3. 부동소수점 구조 1-3-4. 부동소수점 표현 한계 1-3-5. 부동소수점 사용시 주의점 1-3-6. 무한 & NaN 1-4. 문자 타입 1-4-1. 유니코드 1-4-2. UTF (Unicode Transformation Format) - N 1-4-3. 은(는) 처리 1-5. 문자열 1-5-1. 문자열 클래스의 길이 1-5-2. string의 대소문자 변경 1-5-3. 문자열 타입 변환 1-6. 날짜 시간 1-6-1. struct tm 1-6-2. mktime 1-7. 참조 타입 1-7-1. 참조 타입의 실체 1-7-2. 우측 값 참조 (RValue Reference) 1-8. typedef 1-8-1. 유효 범위 1-8-2. 정의 방법 1-9. auto 1-9-1. 자동 변수 auto 1-9-2. C++0x auto 1-9-3. auto 사용 1-10. 정리 2. 선언과 정의 2-1. 선언과 정의의 구분 2-1-1. 정의 2-1-2. 선언 2-1-3. extern & static 2-1-4. 클래스 선언과 정의 2-2. 기억 부류 (Storage Class) 2-2-1. 논리 공간 2-2-2. 변수 할당과 초기화 2-2-3. 변수 초기값 2-2-4. 디버그 변수 초기값 2-3. 정적 변수 2-3-1. 정적 전역 변수 2-3-2. 정적 멤버 변수 2-3-3. 정적 지역 변수 2-3-4. 초기화 순서 제어 2-4. 정리 3. 빌드 (Build) 3-1. 빌드의 구성 3-1-1. 컴파일 3-1-2. 링크 3-1.3. 전처리 3-2. 전처리 지시문 3-2-1. #include 3-2-2. #define 3-2-3. #undef 3-2-4. 조건부 컴파일 지시문 3-2-5. #pragma once 3-3. 미리 정의된 매크로 3-3-1. ANSI 호환 미리 정의된 매크로 3-3-2. 컴파일러 전용 미리 정의된 매크로 3-4. 미리 컴파일된 헤더 (Pre-Compiled Header) 3-5. 링크 에러 (Link Error) 3-5-1. 확인할 수 없는 외부 참조 3-5-2. 여러 번 정의된 기호 3-6. 정리 4. 메모리 4-1. 가상 메모리 4-1-1. 가상 메모리 크기 4-1-2. 가상 메모리 주소 4-1-3. 가상 메모리 구조 4-2. 메모리 할당과 해제 4-2-1. 메모리 할당의 근원 4-2-2. malloc & free 4-2-3. new & delete 4-2-4. new [] & delete [] 4-2-5. Placement new 4-2-6. _msize 4-3. 메모리와 이름 4-3-1. 메모리 블록 구성 요소 4-3-2. 이름 연산자 4-3-3. l-value로 사용되는 이름 4-3-4. r-value로 사용되는 이름(값) 4-3-5. r-value로 사용되는 이름(주소) 4-4. 정리 5. 포인터와 배열 5-1. 포인터 5-1-1. 포인터 타입 5-1-2. 타입 표기 5-1-3. 포인터와 주소 대응 5-1-4. 포인터 연산자 5-2. 배열 5-2-1. 배열 생성 및 초기화 5-2-2. 문자열 초기화 5-3. 다차원 배열 5-3-1. 2차원 배열 구조 5-3-2. 포인터 대응 5-3-3. 배열 전달 5-4. 배열의 크기 5-4-1. sizeof 5-4-2. 배열의 요소 개수 5-4-3. 가변 크기 배열 (VLA : Variable-Length Array) 5-5. vector 5-5-1. 배열과 vector 5-5-2. vector 인자 5-6. 정리 6. 클래스 6-1. 구조체와 클래스의 차이 6-2. 클래스의 메모리 구조 6-2-1. 메모리 배치 규칙 6-2-2. 멤버의 접근 6-2-3. 클래스 크기 6-3. 생성자와 소멸자 6-3-1. 암시적 생성자와 소멸자 6-3-2. 생성자와 소멸자의 호출 순서 6-3-3. virtual 소멸자 6-4. 복사 생성자와 복사 대입 연산자 6-4-1. 복사 생성자 6-4-2. 복사 대입 연산자 6-4-3. 배열 타입의 복사 6-4-4. 실전 연습 6-4-5. 복사 생성자와 복사 대입 연산자의 올바른 사용 6-4-6. 객체의 값에 의한 호출 (Call by Value of Object) 6-4-7. 복사 금지 클래스 6-4-8. RValue Reference의 이용 6-4-9. 등가 연산자 6-5. 초기화 리스트 6-5-1. 초기화 리스트의 원리 6-5-2. 초기화 리스트 사용시 주의점 6-5-3. 그 외 초기화 리스트를 사용하는 경우 6-6. 타입 변환 연산자 (Type Conversion Operator) 6-6-1. 문자열 클래스의 타입 변환 연산자 6-6-2. 타입 변환 연산자의 응용 6-7. 상속 (Inheritance) 6-7-1. 멤버 접근 지정자 6-7-2. friend 6-7-3. 상속 접근 지정자 6-7-4. 상속 클래스의 메모리 구조 6-7-5. 정적 멤버의 상속 6-7-6. 기본 클래스 함수의 상속 6-8. 다중 상속 (Multiple Inheritance) 6-8-1. 다중 상속의 메모리 구조 6-8-2. 다중 상속의 문제점 (Diamond 구조) 6-9. 가상 상속 (Virtual Inheritance) 6-9-1. 가상 상속 (Virtual Inheritance) 6-9-2. 가상 상속의 구조 6-10. 클래스 타입 변환 6-10-1. 클래스 타입 변환 기초 6-10-2. 상속 관계 클래스 타입 변환 6-10-3. 클래스 포인터 타입 변환 6-10-4. 클래스 포인터 타입 변환과 메모리 주소 6-10-5. dynamic_cast & RTTI 6-11. 정리 7. 함수 7-1. 함수 타입 7-2. 함수 호출 규약(Calling Convention) 7-2-1. cdecl 7-2-2. stdcall 7-2-3. x64 Calling Convention 7-3. Name Mangling (Name Decoration) 7-3-1. Name Mangling 포함 정보 7-3-2. C 컴파일러 Name Mangling 7-3-3. C++ 컴파일러 Name Mangling 7-3-4. extern "C" 7-4. 인자(Parameter / Argument) 7-4-1. 인자의 전달 7-4-2. 값에 의한 호출(Call by Value) 7-4-3. 참조에 의한 호출(Call by Reference) 7-4-4. 상수 참조 타입 const TYPE& 7-5. 반환 타입(Return Type) 7-5-1. 값에 의한 반환(Return by Value) 7-5-2. 참조에 의한 반환(Return by Reference) 7-6. 가변 인자 함수 7-6-1. sprintf 7-6-2. 구현 7-6-3. 문자열 클래스 7-6-4. 클래스 타입 7-6-5. 스택 정리 7-7. 클래스 멤버 함수 7-7-1. 멤버 함수 위치 7-7-2. thiscall 7-7-3. this 7-7-4. 이름 탐색 규칙 7-7-5. const 멤버 함수 7-8. 함수 객체(Functor) 7-8-1. 구현 7-8-2. for_each 7-9. 람다(Lambda) 7-9-1. 람다 기본 7-9-2. 람다 문법 7-9-3. 람다 중복 7-9-4. 멤버 함수와 람다 7-9-5. 람다 구조 7-9-6. 람다 저장 7-9-7. 람다 저장 클래스 7-10. 정리 8. 가상 함수 8-1. 가상 함수 기본 동작 8-2. 가상 함수 테이블 8-2-1. 가상 함수 호출 구조 8-2-2. 가상 함수 테이블 생성 8-3. 상속 클래스의 가상 함수 8-3-1. vfptr 초기화 8-3-2. VTable 알고리즘 8-4. 가상 함수의 호출 방식 8-4-1. 직접 멤버(.) 연산자, 간접 멤버(-〉) 연산자 8-4-2. 범위 연산자 8-5. 생성자와 소멸자 8-5-1. virtual 소멸자 8-5-2. 생성자와 vfptr 8-5-3. 소멸자와 vfptr 8-6. 순수 가상 함수 (Pure Virtual Function) 8-6-1. 가상 함수 선언과 정의 8-6-2. 순수 가상 함수 원리 8-6-3. 추상 클래스 8-6-4. 순수 가상 함수 호출 8-7. 다중 상속과 가상 함수 8-7-1. 다중 상속과 가상 함수 테이블 8-7-2. 포인터 this 8-7-3. Thunk Code 8-8. 가상 상속과 가상 함수 8-8-1. 가상 상속과 vfptr 8-8-2. Thunk Code 8-9. 정리 9장. 함수 포인터 9-1. 전역 함수 포인터 9-1-1. 함수 포인터 선언 9-1-2. 함수 포인터 타입 정의 typedef 9-1-3. 함수 포인터 구조 9-2. (비가상) 멤버 함수 포인터 9-2-1. 멤버 함수 포인터 사용 9-2-2. 멤버 함수 포인터 타입 9-2-3. 멤버 함수 포인터와 this 9-2-4. 멤버 함수 포인터 크기 9-3. 가상 상속 클래스 멤버 함수 포인터 9-3-1. 가상 상속 클래스 구조 9-3-2. Virtual Base Table Item Offset 9-3-3. 가상 상속 멤버 함수 포인터 크기 9-4. 가상 함수 포인터 9-4-1. vcall{N} 1 9-4-2. 가상 함수 포인터 호출 방식 9-4-3. vcall{N} 2 9-4-4. 가상 상속과 가상 함수 포인터 9-5. 함수 호출 규약과 함수 포인터 9-5-1. 전역 함수 포인터와 함수 호출 규약 9-5-2. 멤버 함수 포인터와 함수 호출 규약 9-6. 전방 선언 함수 포인터 9-6-1. 전방 선언 함수 포인터의 크기 9-6-2. 전방 선언 함수 포인터 사용 9-6-3. 전방 선언 함수 포인터 구조 9-7. 정리 접기 |
金花秀
김화수의 다른 상품
|
이 책은 C++ 프로그래밍의 문법과 사용 방법보다는 C++ 그 자체에 초점을 두었다. 즉, C++ 프로그래밍이 어떤 구조와 원리에 의해서 이루어지는지를 집중적으로 설명하는데 주안점을 두었다. 따라서 일부 내용 중에는 C++ 코드가 어셈블리로 어떻게 변환되고, 어떤 동작 원리에 의해서 돌아가는지를 심층적으로 살펴보는 부분도 있다. 그렇다고 그것이 전부인 것은 아니다. 근본 원리를 이해했으면 그것을 응용할 때 빛을 발휘되게 된다. 이 책에서는 기본 원리가 어떤 식으로 응용되어서 C++ 프로그래밍의 수많은 표준과 기법으로 탄생하는지를 살펴볼 수 있다.
이 책에는 기존의 책들이나 검색에서 쉽게 접할 수 없는 내용들이 다수 나오게 된다. 가령 단순히 원칙처럼 외우고 넘어갔던 new ~ delete, new[] ~ delete[]를 반드시 짝 맞추어야 하는 이유라던가, 생성자와 소멸자에서는 왜 가상함수가 제대로 동작하지 않는지를 알 수 있게 된다. 그 외에도 const 멤버 함수에서 왜 const가 반드시 필요할 수 밖에 없는지, 또한 STL의 function은 람다를 어떤 방식을 통해서 전역적으로 저장할 수 있는지도 다루게 된다. C++은 C 언어에 클래스를 추가하면서 탄생한 언어이다. 따라서 이 책은 클래스와 더불어서 클래스로 인하여 추가된 개념들을 중점적으로 살펴보게 된다. 가령 클래스의 다중 상속 및 가상 상속의 구조를 정확히 파악함으로써 클래스간 타입 변환 및 포인터 변화에 대해서 자세히 알아보게 되며, 가상함수의 구조 및 호출 메커니즘도 자세히 살펴본다. 또한 기존의 책들이 함수 포인터를 단순히 C 언어 기준으로만 기술하였던 것에 비해서 이 책에서는 멤버 함수 포인터를 깊이 있게 다룬다. 멤버 함수 포인터의 구조와 크기가 경우에 따라서 어떻게 달라지는지 확인할 수 있을 것이고, 비가상 멤버 함수와 가상 함수의 포인터가 다른 방식의 메커니즘으로 호출되는 것도 알 수 있게 된다. 이 책이 C++을 중점적으로 다루지만 C++의 근본은 바로 C 언어이듯이, C 언어의 기본 개념도 깊이 있게 다룬다. 타입의 정확한 의미와 더불어서 선언과 정의에 대해서 살펴보며, 메모리를 기준으로 포인터와 배열의 구조와 함께 차이점에 대해서도 심도 있게 다룬다. 이 책을 통해서 C++ 프로그래밍의 기본을 튼튼히 한다면 고급 프로그래밍을 하는데 많은 도움이 될 것이다. |