A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기)
구현
제곱근 Square root : 바빌로니아 법(The Babylonian Method)
원주율 Pi : 라이프니츠 공식 (Leibniz Formula for π)
100명의 죄수가 살아남을 확률을 높이기 위한 루프 전략 (Loop Strategy)
N x N 2차원 배열 뒤집기, 회전하기 (Rotate, Flip 2D Array)
비트 연산 기본 매크로 함수 (bit macro : get, set, clear, toggle, check)
임시 변수 없이 변수 바꾸기 (Swap Two Numbers without using the Third Variable)
최하위 / 최상위 비트 구하기 (Find MSB, LSB)
1차원 비트 회전하기 (Rotate Bits of a Number)
2차원 비트맵 뒤집기, 회전하기 (Rotate, Flip 2D Bitmap)
Window Visual Studio에서 폴더의 모든 파일 통합하기
폴더, 파일 관리 함수 정리 with sys/stat.h, dirent.h, fstream
디자인 패턴
생성 패턴
- 팩토리 메서드 패턴 (Factory Method Pattern)
- 추상 팩토리 패턴 (Abstract Factory Pattern)
- 프로토타입 패턴 (Prototype Pattern)
행동 패턴
- 전략, 스트래티지 패턴 (Strategy Pattern)
- 반복자, 이터레이터 패턴 (Iterator Pattern)
- 템플릿 메서드 패턴 (Template Method Pattern)
- 역할 사슬, CoR 패턴 (Chain of Responsibility Pattern)
- 방문자, 비지터 패턴 (Visitor Pattern)
- 중재자, 미디에이터 패턴 (Mediator Pattern)
구조 패턴
- 복합체, 컴포지트 패턴 (Composite Pattern)
- 데코레이터 패턴 (Decorator Pattern)
- 플라이웨이트 패턴 (Flyweight Pattern)
객체 지향 설계 5대 원칙 SOLID C++ Example
단일 책임 원칙 (SRP, Single Responsibility Principle)
개방-폐쇄 원칙 (OCP, Open-Closed Principle)
리스코프 치환 원칙 (LCP, Liskov Substitution Principle)
인터페이스 분리 원칙 (ISP, Interface Segregation Principle)
의존 역전 원칙 (DIP, Dependency Inversion Principle)
최소 지식 원칙 (The Principle of Least Knowledge)
헐리우드 원칙 (The Hollywood Principle)
입출력
포인터
포인터와 참조자 (pointer vs reference)
unique_ptr
weak_ptr
shared_ptr
auto_ptr
Virtual / 가상 함수
virtual, type casting
virtual / override
가상 소멸자 (Virtual Destructor)
순수 가상 클래스 (Pure Virtual Class)
가상 함수 테이블 (Virtual Function Table)
인터페이스 vs 추상 클래스 (Java, C++ 비교)
임시 객체 (temporary object)
우측값 참조 r-value reference (기본 자료형)
복사 생성자를 이용한 객체의 깊은 복사 (Deep Copy using Copy Constructor)
명시적 디폴트 생성자
상수형 메서드와 mutable, const_cast<>
생성자 초기화 리스트 (Constructor Member Initializer List)
함수 템플릿 (Function Template)
컨테이너와 반복자 (Container and Iterator)
friend로 private 멤버 출력하기 (Printing private members using friend)
atomic으로 원자적 연산 처리하기 (vs mutex)
CRTP로 인터페이스 만들기 (Interface with Curiously Recurring Template Pattern)
템플릿으로 클래스 상속하기 (Mixin Inheritance)
튜플로 여러 값 반환하기 (Returning Multiple Values Using Tuple)
연산자 오버로딩을 이용하여 구조체 출력하기 (cout with overloading)
정수를 IP로 변환하기 (IP Converter for IPv4, IPv6, Integer, in_addr, in6_addr)
'링크 정리' 카테고리의 다른 글
깃 / 깃허브 링크 (0) | 2023.07.29 |
---|---|
JavaScript, React 링크 (0) | 2023.07.29 |
블렌더 링크 (0) | 2022.08.13 |
Project (0) | 2022.08.13 |
Node JS 링크 (0) | 2022.08.13 |
댓글