안내
확인
U
회원관리
로그인
가입
찾기
회원아이디
패스워드
로그인유지
회원아이디
이름
이메일
휴대폰번호
패스워드
패스워드 재입력
회원이용약관 및 개인정보 취급방침에 동의 합니다
회원이용약관 보기
개인정보처리방침 보기
본인 이름 입력
회원가입시 이메일 입력
C++ 언어 기초 가이드 - 이 책 한 권이면 끝!
서평
와이웨이브이퍼블리싱
|
박빈
|
2025-02-12
12
읽음
0
0
0
2 / 237 목차보기
이전
2 / 237 목차
다음
로그인
회원가입
와
와이드웨이브
저자 소개
서평
이 책을 추천하는 이유
출판사 서평
Chapter 1: C++ 개요 및 개발 환경 설정
1. C++의 역사와 특징
2. C++과 다른 프로그래밍 언어 비교 (C, Java, Python 등)
3. C++ 개발 환경 구축 (Windows, macOS, Linux)
3.1. 필수 개발 도구
3.2. 운영체제별 개발 환경 설정
Windows:
macOS:
Linux (Ubuntu 기준):
4. 첫 번째 C++ 프로그램 작성 및 컴파일 과정
📌 코드 예제:
4.1. 코드 설명
4.2. 컴파일 및 실행
5. C++ 코드 구조 분석 (헤더 파일, main 함수, 문법)
5.1. 헤더 파일
5.2. main 함수의 역할
5.3. 코드 예제: 사용자 입력 받기
5.4. 기본적인 문법 요소
Chapter 2: 데이터 타입과 변수, 상수
1. C++ 기본 데이터 타입 (int, float, char, double, bool)
각 데이터 타입의 예제 코드:
2. 변수 선언과 초기화 방법
2.1. 기본 초기화 방법
2.2. 여러 개의 변수 선언
2.3. 초기화하지 않은 변수의 문제
3. const와 constexpr을 이용한 상수 선언
3.1. const 사용 예제
3.2. constexpr 사용 예제
4. 타입 변환과 형변환 (묵시적, 명시적)
4.1. 묵시적 변환 (Implicit Conversion)
C++는 작은 크기의 데이터 타입을 큰 크기의 타입으로 자동 변환합니다.
4.2. 명시적 변환 (Explicit Conversion)
강제적으로 데이터 타입을 변환할 수 있습니다.
5. sizeof 연산자를 활용한 데이터 크기 측정
5.1. sizeof 기본 사용법
5.2. 변수의 크기 확인
결론
Chapter 3: 연산자 및 수식 평가
1. 산술 연산자와 우선순위
1.1. 연산자 우선순위
1.2. 예제 코드
2. 관계 연산자와 논리 연산자
2.1. 관계 연산자
2.2. 논리 연산자
2.3. 예제 코드
3. 비트 연산자와 활용 사례
3.1. 예제 코드
4. 증감 연산자와 복합 대입 연산자
4.1. 증감 연산자
4.2. 복합 대입 연산자
4.3. 예제 코드
5. 삼항 연산자와 연산자 오버로딩 개요
5.1. 삼항 연산자
삼항 연산자는 condition ? expr1 : expr2 형태로 사용됩니다.
5.2. 연산자 오버로딩 개요
Chapter 4: 제어문 (조건문과 반복문)
1. if-else 문과 다중 조건
1.1 기본 if-else 문
1.2 다중 조건 (논리 연산자 활용)
2. switch-case 문과 fallthrough
2.1 기본 switch-case 문
2.2 fallthrough 동작
3. while, do-while, for 반복문의 차이점
3.1 while 문
3.2 do-while 문
3.3 for 문
4. break와 continue의 동작 방식
4.1 break 사용 예제
4.2 continue 사용 예제
5. 범위 기반 for문과 iterator 활용
5.1 범위 기반 for 문
5.2 iterator 활용 예제
Chapter 5: 함수와 메모리 관리
1. 함수 정의 및 매개변수 전달 방식 (값, 참조, 포인터)
1.1 값 전달 (Pass by Value)
1.2 참조 전달 (Pass by Reference)
1.3 포인터 전달 (Pass by Pointer)
2. 기본값 매개변수와 함수 오버로딩
2.1 기본값 매개변수 (Default Arguments)
2.2 함수 오버로딩 (Function Overloading)
3. 재귀 함수와 활용 사례
3.1 재귀 함수 기본 예제
4. 동적 메모리 할당 (new, delete)
4.1 new와 delete를 사용한 메모리 할당
4.2 배열을 위한 동적 메모리 할당
5. 메모리 누수 방지 및 스마트 포인터 개념
5.1 메모리 누수 문제
5.2 스마트 포인터 (Smart Pointer)
unique_ptr 사용 예제
shared_ptr 사용 예제
Chapter 6: 배열과 문자열
1. 배열의 선언과 초기화
1.1 배열 선언과 초기화
1.2 기본 배열 초기화
2. 다차원 배열과 행렬 연산
2.1 2차원 배열 선언과 초기화
2.2 행렬 덧셈 연산 예제
3. C 스타일 문자열과 문자열 라이브러리 (cstring)
3.1 C 스타일 문자열 선언과 초기화
3.2 문자열 비교
4. std::string 클래스의 활용
4.1 기본적인 std::string 사용법
4.2 문자열 길이 확인
5. 문자열 조작 함수 (substr, find, replace)
5.1 부분 문자열 추출 (substr)
5.2 문자열 찾기 (find)
5.3 문자열 대체 (replace)
Chapter 7: 포인터와 참조자
1. 포인터의 개념과 메모리 주소
1.1 포인터 선언과 사용
2. 포인터 연산 및 배열과의 관계
2.1 포인터 연산
2.2 배열과 포인터의 관계
3. 동적 메모리 할당과 해제
3.1 단일 변수 할당과 해제
3.2 배열 할당과 해제
4. 참조자 (Reference)와 포인터 비교
4.1 참조자 기본 사용
4.2 참조자 vs 포인터 비교
5. 포인터 배열, 함수 포인터, nullptr 활용
5.1 포인터 배열
5.2 함수 포인터
5.3 nullptr 활용
Chapter 8: 구조체, 열거형, 공용체
1. 구조체(struct) 정의 및 활용
1.1 구조체 선언 및 사용 예제
1.2 구조체 배열 및 포인터 활용
2. 구조체와 함수의 관계
2.1 값에 의한 전달
2.2 참조에 의한 전달
3. 열거형(enum)과 범위 지정 열거형
3.1 기본 열거형
3.2 범위 지정 열거형 (C++11 이상)
4. 공용체(union)와 메모리 절약 기법
4.1 공용체 선언 및 사용
5. 비트필드(Bit-Field) 개념과 활용
5.1 비트필드 선언 및 사용 예제
Chapter 9: 클래스와 객체지향 프로그래밍 (OOP)
1. 클래스와 객체의 개념
1.1 클래스 선언과 객체 생성
2. 접근 지정자 (private, public, protected)
2.1 접근 지정자 사용 예제
3. 생성자와 소멸자의 원리
3.1 생성자(Constructor)
3.2 소멸자(Destructor)
3.3 생성자와 소멸자 사용 예제
4. this 포인터와 객체 비교
4.1 this 포인터란?
4.2 객체 비교 예제
5. 정적 멤버 변수 및 정적 함수
5.1 정적(static) 멤버 변수
5.2 정적(static) 멤버 함수
5.3 정적 멤버 변수 및 함수 사용 예제
Chapter 10: 상속과 다형성
1. 상속의 개념과 기본 문법
1.1 기본 상속 문법
2. 기본 클래스와 파생 클래스의 관계
2.1 상속 접근 지정자의 차이
3. 가상 함수와 오버라이딩
3.1 가상 함수 사용 예제
4. 순수가상함수와 인터페이스 개념
4.1 순수가상함수 사용 예제
5. 다중 상속과 가상 상속 문제 해결
5.1 다중 상속 예제
5.2 가상 상속으로 다이아몬드 문제 해결
Chapter 11: 템플릿과 제네릭 프로그래밍
1. 함수 템플릿과 클래스 템플릿
1.1 함수 템플릿
1.2 클래스 템플릿
2. 템플릿 특수화와 부분 특수화
2.1 템플릿 특수화
2.2 부분 특수화
3. 템플릿과 상속의 결합
4. 가변 템플릿 (Variadic Template)
5. 템플릿 메타프로그래밍 (TMP) 개요
5.1 팩토리얼 계산 (컴파일 타임)
Chapter 12: 표준 템플릿 라이브러리(STL)
1. STL 컨테이너 (vector, list, map, set)
1.1 vector (동적 배열)
1.2 list (연결 리스트)
1.3 map (연관 컨테이너)
1.4 set (중복 없는 정렬된 집합)
2. STL 알고리즘 (정렬, 검색, 변환)
2.1 정렬
2.2 이진 검색
2.3 변환 (transform)
3. STL 반복자와 람다 함수
3.1 반복자 사용
3.2 람다 함수 활용
4. 스마트 포인터 (unique_ptr, shared_ptr)
4.1 unique_ptr
4.2 shared_ptr
5. STL 활용한 고급 프로그래밍 기법
5.1 std::unordered_map (빠른 키-값 매핑)
Chapter 13: 파일 입출력과 예외 처리
1. 파일 스트림(fstream)과 텍스트 파일 입출력
1.1 텍스트 파일 쓰기
1.2 텍스트 파일 읽기
2. 이진 파일 처리 (binary file)
2.1 바이너리 파일 쓰기
2.2 바이너리 파일 읽기
3. 예외 처리 try-catch 블록 활용
3.1 기본 예외 처리
4. 사용자 정의 예외 클래스 만들기
4.1 사용자 정의 예외 클래스
5. noexcept와 예외 안전성 보장 기법
5.1 noexcept 사용 예제
Chapter 14: 멀티스레딩과 동기화
1. 멀티스레딩 개념과 std::thread 활용
1.1 기본적인 std::thread 사용법
1.2 멀티스레딩을 활용한 병렬 실행
2. 뮤텍스(mutex)와 동기화 기법
2.1 std::mutex 활용
2.2 std::lock_guard로 자동 락 관리
3. 조건 변수와 생산자-소비자 패턴
3.1 std::condition_variable 사용 예제
4. atomic 변수와 병렬 프로그래밍
4.1 std::atomic 사용 예제
5. C++20 코루틴(coroutine) 개요
5.1 기본적인 코루틴 예제
Chapter 15: 최신 C++ 기능과 실전 프로젝트
1. C++11, C++14, C++17, C++20의 주요 기능
1.1 C++11 주요 기능
1.2 C++14 주요 기능
1.3 C++17 주요 기능
1.4 C++20 주요 기능
2. 실전 프로젝트: 간단한 게임 개발
2.1 텍스트 기반 숫자 맞추기 게임
3. 실전 프로젝트: 데이터 처리 및 분석
3.1 파일에서 데이터 읽어오기
4. 면접 대비 C++ 고급 문법 정리
4.1 가상 함수 테이블(V-Table) 개념
판 권