이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1. 값과 변수 그리고 표현식
1.1. 변수의 개념 변수의 정의 값과 변수 그리고 표현식의 관계 변수의 생성 (선언, Simple declaration, Attributes, Specifiers, Declarators, Initializer) 1.2. C++에서의 Fundamental Types와 Built-In Operators Fundamental Types (Void, Signed and Unsigned Integer, Boolean, Character, Floating-Point) Range of Values Built-In Operators Placeholder Type Specifiers - auto Type 1.3. 값의 해석 C++ Data Model과 Type Size Scope와 변수의 관계 1.4. 값의 범주 변수(Variable)와 리터럴(Literal) Primary Categories (lValue, prValue, xValue) Mixed Categories (glValue, rValue) 값의 범주의 활용 1.5. 표현식의 범주 표현식의 정의 Primary Expression Full-Expression Potentially-Evaluated Expressions Discarded-Value Expressions 1.6. C/C++ 표준에서 제공하는 Type 관련 Library 1.7. 알아둘만한 이슈들 초기화 종류와 관련된 이슈 (Copy, Direct, List-initialization) 값의 표현 한계에 관련된 이슈 Overflow, Underflow 이슈 Decompiler에 의한 코드 노출 보안 이슈 변수의 결합 시점과 그에 따른 Trade-Off 2. 메모리와 포인터 그리고 레퍼런스 2.1. 메모리와 주소의 개념 프로그래머 관점에서의 메모리 형태 주소의 개념 2.2. 포인터와 주소 포인터의 개념 참조의 개념 Built-in Address-of and Indirection Operator 다중 포인터 포인터에 붙는 다양한 cv-Qualification들에 의한 의미의 변형 void*의 특수성 2.3. 레퍼런스 레퍼런스의 개념 Built-in Reference Declarator 레퍼런스와 포인터의 공통점과 차이점 3. 할당 3.1. 할당의 개념 3.2. 정적 할당과 동적 할당 각각의 할당 메커니즘 정적 할당 메커니즘 동적 할당 메커니즘 (Memory Allocator, Chunk, Bin, Arena) 3.3. C 스타일 동적 할당 malloc calloc 3.4. C++ 스타일 동적 할당 new, delete Operator Smart Pointer (unique_ptr, shared_ptr, weak_ptr) std::Allocator 4. 흐름제어 5. 함수 5.1. 함수의 개념 매개변수 및 리턴값의 종류 및 성능 비교 클래스와 Built-In Type의 전달 비용 분석 특수한 함수 (순수 함수) 5.2. 일반적인 함수 함수 선언과 정의, 값 반환 inline 함수, constexpr 함수 인자 전달 (리스트 인자, 가변 인자, 기본 인자) 오버로딩 함수와 오버로딩 해결 함수 포인터 함수의 생애 주기에 따른 내부 동작 Compile Time (Compiler, Linker) Run Time (함수 호출, 함수 내 처리, 함수 탈출) 5.3. 매크로 함수 6. 익명 함수(람다) 6.1. 익명 함수(람다, 람다 표현식) 익명 함수의 구현 모델 캡쳐 (람다의 수명, 네임스페이스 이름, 람다와 this) 호출과 반환 람다를 함수 포인터처럼 사용 람다의 타입 7. 클래스 - 기초 7.1. ADT의 개념 ADT가 필요한 예 ADT를 사용할 때 좋은 점 7.2. 클래스의 개념 (ADT + 상속 + 다형성) 7.3. 클래스, 인스턴스, 객체의 개념 7.4. 클래스의 문법 멤버 함수 기본 복사 접근 제어 class와 struct 생성자, explicit 생성자 가변성 (상수 멤버 함수, 물리적 및 논리적 상수성, mutable) 자기 참조 멤버 접근 static 멤버 8. 클래스의 보다 깊은 이해를 위해 - 이동 동작 8.1. 이동 의미론, 완벽 전달의 개념 8.2. 전달 참조(Forwarding Reference)와 오른값 참조 8.3. 참조 축약 규칙 8.4. std::move와 std::forward 8.5. 완벽 전달이 실패하는 경우들 중괄호 초기치 널 포인터를 의미하는 0 혹은 NULL 선언만 된 정수 static const 및 constexpr 오버로딩된 함수 이름과 템플릿 이름 비트 필드 9. 클래스 - 상속 9.1. 파생 클래스 파생 클래스의 멤버 함수 생성자와 소멸자 9.2. 클래스 계층 구조 타입 필드 가상 함수와 다형성의 동작 원리 명시적 한정 재정의 제어 (override, final) using 기반 클래스 멤버, 생성자 상속 반환 타입 완화 9.3. 클래스 계층 구조의 설계 상속 접근 제어 (public, protected, private) 구현 상속 인터페이스 상속 9.4. 다중 상속 다중 인터페이스 다중 구현 클래스 모호성 해결 기반 클래스의 반복 사용 가상 기반 클래스 9.5. 멤버를 가리키는 포인터 |