자동 재생
자동 완료 표시
이전 강의 보기
완료하고 다음 강의 보기
COMP3200: C++ 언매니지드 프로그래밍
코스 소개
누가 이 코스를 들을 수 있나요? (5:21)
POCU 수강생만을 위한 정보 (17:51)
수업 일정 (4:10)
코스에서 사용하는 슬라이드 구조 (2:59)
C++에 대한 소문과 사실 (11:13)
정리 (7:12)
수업에 도움되는 자료
참고자료 안내
동영상 강좌 관련 질문 안내
[Teachable ONLY!] 추천인 프로그램
출력(Output)
Hello World 출력하기, 네임스페이스(namespace) (10:31)
코드보기: using / namespace (4:07)
복습 퀴즈
<< 연산자(operator) (2:16)
코드보기: 모든걸 출력해 보자! (2:07)
복습 퀴즈
출력형식 지정(Output Formatting) 1 (13:18)
코드보기: 조정자 (4:52)
복습 퀴즈 1
복습 퀴즈 2
출력형식 지정(Output Formatting) 2 (2:10)
정리 (1:31)
입력(Input)
입력 스트림(Input Stream) (10:05)
복습 퀴즈
스트림 상태(Stream States) (7:09)
입력 버리기(Discarding Input): clear(), ignore() (4:47)
복습 퀴즈
입력 버리기: get(), getline() (2:23)
코드보기: 정수의 합 구하기, getline() (6:50)
복습 퀴즈
정리 (1:55)
일부 새로운 C++ 기능
Bool 데이터형 (8:47)
참조(Reference) 1 (13:53)
복습 퀴즈
참조 2 (12:26)
컴퓨터는 참조가 뭔지 알까? (4:25)
코드보기: 참조 (2:54)
복습 퀴즈
코딩표준 쪼오금~ (10:00)
정리 (2:03)
문자열(string)
std::string 클래스 (14:36)
복습 퀴즈
std::string이 좋은가요? (14:46)
코드보기: 문자열 뒤집어 덧붙이기 (2:38)
복습 퀴즈
파일 입출력(I/O)
파일 열기와 닫기 (9:47)
한 문자, 한 줄, 한 단어 읽기 (10:35)
잘못된 입력이 있는 경우 (4:59)
잘못된 입력을 어떻게 처리하지? (6:28)
또 다른 문제... (2:59)
파일 읽기의 베스트 프랙티스(Best Practice) (3:42)
복습 퀴즈
파일 쓰기, 바이너리 파일 읽기/쓰기, 파일 안에서의 탐색(seek) (13:48)
코드보기: 파일 입출력 (8:13)
복습 퀴즈
정리 (2:39)
개체지향 프로그래밍 (Object-Oriented Programming) 1
OOP란? (15:19)
OOP가 복잡해졌다! (9:07)
접근 제어자(Access Modifier) (6:00)
복습 퀴즈
개체 생성, 스택/힙 (17:11)
개체 배열 생성, 개체 소멸 (8:39)
멤버 변수 초기화 (5:59)
복습 퀴즈
생각할 거리: new/delete와 malloc()/free()의 차이 (1:07)
생성자(Constructor), 초기화 리스트(Initializer List) (8:34)
코드보기: Vector 클래스의 헤더 및 cpp 파일 (3:06)
기본 생성자, 컴파일러가 하는 일 (3:01)
영상 퀴즈: 둘 중 컴파일 안 되는 코드는?
둘 중 컴파일 안 되는 코드는? (1:27)
영상 퀴즈: 둘 중 컴파일 안 되는 코드는?
생성자 오버로딩(Overloading), 소멸자(Destructor) (9:40)
복습 퀴즈
const 멤버 함수 (6:02)
코드보기: Vector 클래스 (2:14)
구조체(Struct) vs 클래스(Class) (10:46)
개체지향 프로그래밍 2
복사(Copy) 생성자 (15:26)
코드보기: char 배열과 복사 생성자 (2:23)
함수 오버로딩(overloading) (2:07)
영상 퀴즈
함수 오버로딩 매칭하기 (2:58)
영상 퀴즈
함수 매칭 순서 (4:12)
코드보기: 함수 오버로딩과 Vector 클래스 (4:13)
연산자(operator) 오버로딩 (13:18)
friend 키워드 (13:55)
연산자 오버로딩과 const (14:42)
코드보기: Vector 클래스에서 연산자 오버로딩하기 (3:20)
복습 퀴즈
연산자 오버로딩을 남용하지 말 것 (6:45)
암시적 함수들을 제거하는 법 (5:17)
복습 퀴즈
정리 (2:04)
개체치향 프로그래밍 3
상속 (18:32)
생성자 호출 순서, 소멸자 호출 순서 (5:22)
코드보기: Animal, Cat, Dog 클래스 (2:54)
복습 퀴즈
정리 (1:29)
다형성(Polymorphism) (14:45)
정적 바인딩 (2:52)
동적 바인딩 (12:00)
복습 퀴즈
가상 소멸자 (7:21)
코드보기: Animal, Cat, Dog의 가상함수 (4:47)
복습 퀴즈
정리 (5:55)
다중(multiple) 상속 (10:16)
추상(abstract) 클래스 (5:38)
영상 퀴즈
"인터페이스" (6:18)
코드보기: IFlyable, IWalkable, Bat, Cat 클래스 (1:45)
정리 (1:41)
캐스팅(형변환, Casting)
C 스타일 캐스팅 (11:46)
static_cast (7:35)
코드보기: static_cast으로 값 변환하기 (1:54)
코드보기: static_cast으로 개체 포인터 변환하기 (5:17)
reinterpret_cast (8:15)
코드보기: Tiger 개체의 주소 저장하기 (3:58)
복습 퀴즈 1
복습 퀴즈 2
복습 퀴즈 3
복습 퀴즈 4
복습 퀴즈 5
const_cast (7:26)
dynamic_cast (12:01)
복습 퀴즈
정리 (1:59)
인라인 함수(Inline Functions)
인라인 함수란? (17:54)
코드보기: Vector 클래스에 인라인 함수 사용하기 (2:24)
복습 퀴즈
static 키워드
정적 멤버 변수 1 (18:08)
영상 퀴즈
정적 멤버 변수 2 (1:14)
코드보기: Cat 클래스에서 정적 멤버 변수 사용하기 (3:10)
정적 멤버 함수 (3:19)
코드보기: Math 클래스에서 정적 멤버 함수 쓰기 (4:39)
복습 퀴즈
정리 (9:08)
예외(Exception)
Java 예외 vs C++ 예외 (9:40)
범위 이탈, 0으로 나누기, NULL 개체 (10:20)
생성자에서 사용하는 예외 (7:34)
C의 에러 코드 (7:18)
에러 코드보다 예외가 더 낫다? 1 (9:09)
에러 코드보다 예외가 더 낫다? 2 (5:23)
에러 코드보다 예외가 더 낫다? 3 (12:17)
웹은 에러 코드로 돌고있다 (4:07)
적절한 예외 처리 (25:20)
표준 템플릿 라이브러리(STL, Standard Template Library) 1
벡터(Vector)란? (11:48)
요소 삽입/삭제, 용량, 크기, 요소 접근, 반복자 (11:42)
코드보기: 내 점수들을 추가하고 출력하기 (2:58)
복습 퀴즈
역방향 반복자, 특정 위치에 요소 삽입/삭제 (9:16)
벡터 교환하기 (4:44)
복습 퀴즈
크기 변경, 모든 요소 제거하기 (2:07)
코드보기: 점수 더하기 (2:00)
복습 퀴즈
개체(Object) 벡터 (3:09)
코드보기: 개체 벡터 (7:09)
포인터 벡터 (5:36)
코드보기: 포인터 벡터 (3:13)
벡터의 장점과 단점 (1:31)
표준 템플릿 라이브러리 2
맵(Map)이란? (5:58)
std::pair, 요소 삽입 (7:34)
코드보기: insert()를 사용해 점수 넣기 (1:49)
코드보기: operator[]를 사용해 점수 넣기 (1:33)
요소 찾기, 두 맵 교환, 맵 비우기, 요소 제거, 두 키를 비교하는 함수 (10:24)
코드보기: 사용자 정의 자료형을 키로 사용하기 1 (3:11)
코드보기: 사용자 정의 자료형을 키로 사용하기 2 (2:34)
맵의 장점과 단점 (4:08)
셋(Set)이란? (2:22)
복습 퀴즈 1
복습 퀴즈 2
표준 템플릿 라이브러리 3
큐(Queue)란? (8:00)
복습 퀴즈
스택(Stack)이란? (3:57)
복습 퀴즈
리스트(List)란? (7:50)
복습 퀴즈
그 밖의 컨테이너들 (2:21)
정리 (2:00)
STL 컨테이너의 목적 (13:34)
템플릿(Template) 프로그래밍
함수 템플릿 (13:49)
클래스 템플릿 (12:45)
코드보기: 템플릿 배열 (5:16)
복습 퀴즈
클래스 템플릿 트릭 (2:40)
코드보기: FixedVector (4:55)
두 개의 템플릿 매개변수 (6:06)
코드보기: Math (3:13)
복습 퀴즈
템플릿 특수화(Specialization) (11:13)
장점과 단점, 베스트 프랙티스 (8:43)
복습 퀴즈
정리 (1:35)
STL 알고리듬(Algorithm)
STL 알고리듬이란? (8:23)
코드보기: find() 알고리듬 (3:01)
STL 알고리듬 목록 (2:10)
복습 퀴즈
정리 (4:38)
새로운 키워드 (C++11~)
auto 키워드: 포인터 및 참조 받기 (10:59)
auto 키워드: const 받기, 함수 반환값 저장하기 (5:16)
auto 키워드: 반복자 대체하기, 템플릿형 받기 (6:18)
코드보기: auto 키워드 (3:01)
복습 퀴즈
static_assert 키워드 (11:41)
코드보기: static_assert 키워드 (2:04)
복습 퀴즈
default와 delete 키워드 (6:43)
복습 퀴즈
final 키워드 (6:00)
복습 퀴즈
override 키워드 (3:19)
영상 퀴즈
override 키워드 2 (1:20)
코드보기: override 키워드 (5:12)
복습 퀴즈
보너스: offsetof 매크로 (4:05)
새로운 자료형
nullptr (4:36)
고정 폭 정수형 (7:01)
enum class (7:12)
코드보기: eColor로 색 설정하기 (1:37)
복습 퀴즈
보너스: 헤더에서 초기화하기 (4:13)
정리 (1:08)
새로 추가된 STL
정렬 안된 맵(unordered_map) 1 (7:52)
정렬 안된 맵 2 (11:50)
정렬 안된 셋(unordered_set) (1:02)
코드보기: 정렬되는 셋 vs 되지 않는 셋 (4:41)
복습 퀴즈
어레이(array) 1 (3:22)
영상 퀴즈
어레이 2 (3:22)
범위 기반 for 반복문 (9:30)
코드보기: 범위 기반 for 반복문 (1:26)
복습 퀴즈
정리 (1:23)
스마트(Smart) 포인터
기존 포인터의 문제점 (6:41)
유니크(Unique) 포인터 만들기 (C++11) (7:02)
유니크 포인터를 사용하기 적합한 경우 (4:23)
유니크 포인터 만들기 (C++14 이후) (8:20)
유니크 포인터 재설정, 원시 포인터 가져오기, 원시 포인터 소유권 박탈하기 (6:38)
유니크 포인터: 소유권 이전하기 (10:29)
유니크 포인터: 베스트 프랙티스 (4:21)
코드보기: 유니크 포인터 사용하기 (5:14)
복습 퀴즈
가비지 콜렉션 1 (10:12)
가비지 콜렉션 2 (8:49)
참조 카운팅 1 (9:28)
참조 카운팅 2 (9:09)
공유(Shared) 포인터 (11:14)
코드보기: 공유 포인터와 단순 연결 리스트 (6:47)
복습 퀴즈
약한(Weak) 포인터 만들기 (6:04)
약한 포인터로 공유 포인터 만들기 (7:42)
약한 포인터로 순환 참조를 해결해보자 (9:56)
코드보기: 간단한 캐시(Cache) (8:10)
복습 퀴즈
정리 (6:41)
이동 생성자 및 이동 대입 연산자
rvalue와 복사생성자 (10:46)
rvalue 참조, std::move(), 이동 생성자 (7:08)
이동 대입 연산자 (11:51)
코드보기: 이동 생성자와 이동 대입 연산자 (5:19)
복습 퀴즈
정리 (2:42)
constexpr
constexpr을 배우기에 앞서 (4:17)
템플릿 메타프로그래밍 (7:25)
constexpr 함수, 변수 (10:24)
constexpr 활용 (3:49)
const vs constexpr (5:45)
코드보기: 간단한 해쉬맵 (10:56)
복습 퀴즈
람다 식(Lambda Expression)
람다 식 기본 문법 (6:39)
캡쳐 블록 (6:40)
매개변수 목록 (2:12)
지정자, 반환 형 (3:38)
장점과 단점, 베스트 프랙티스 (3:42)
코드보기: 람다 식 (2:34)
복습 퀴즈
가변 인자(Variadic) 템플릿
가변 인자 템플릿 (9:23)
코드보기: 가변 인자 템플릿 함수 (2:29)
정리 (3:52)
파일시스템(Filesystem), 모듈(Module) 시스템
파일시스템 1 (6:03)
파일시스템 2 (7:08)
코드보기: 파일 시스템 (2:45)
복습 퀴즈 1
복습 퀴즈 2
모듈(Module) 시스템 (6:49)
정리 (1:40)
쓰레딩(Threading) 라이브러리
쓰레드 개체 만들기 (9:02)
쓰레드 기다리기 (7:13)
쓰레드 ID 구하기 (5:26)
쓰레드 떼어 내기 (4:07)
람다와 쓰레딩 (3:48)
도우미 함수들 (std::this_thread) (6:37)
복습 퀴즈
뮤텍스(Mutex): 쓰레딩의 문제를 해결해보자 (7:12)
흔히 하는 실수와 해결법 (6:06)
코드보기: 멀티쓰레딩 (3:59)
복습 퀴즈
조건 변수(Conditional Variables) (5:04)
흠...이렇게 쓰는거 아니에요? (7:07)
올바른 wait() 사용법 (7:50)
코드보기: 자동 재설정 타이머 (3:24)
정리 (3:11)
C++ 강의를 마무리 지으며
마무리 (4:45)
Teach online with
함수 오버로딩(overloading)
강의 내용 잠김
이미 강좌를 등록하셨다면,
로그인 해주세요.
.
잠금을 해제하려면 강좌를 등록하세요!