본문 바로가기
링크 정리

C, C++ 링크

by 피로물든딸기 2023. 7. 29.
반응형

구현

 

C++ split 함수 구현

C 언어에서 날짜 구하기

소수 판단 함수

에라토스테네스의 체 - 소수 판단

셔플 Shuffle - 카드 섞기 알고리즘

제곱근 Square root : 바빌로니아 법(The Babylonian Method)

원주율 Pi : 라이프니츠 공식 (Leibniz Formula for π)

100명의 죄수가 살아남을 확률을 높이기 위한 루프 전략 (Loop Strategy)

N x N 2차원 배열 뒤집기, 회전하기 (Rotate, Flip 2D Array)

여러가지 나머지 연산 방법 테스트

 

비트 단위로 출력하기 (Print Bit)

비트 on / off

비트 연산 기본 매크로 함수 (bit macro : get, set, clear, toggle, check)

임시 변수 없이 변수 바꾸기 (Swap Two Numbers without using the Third Variable)

비트 연산으로 2의 제곱수 처리하기

1 비트 개수 세기 (Bit Counter)

비트 뒤집기 (Reverse Bits)

비트 교환 (Change Some Bits)

최하위 / 최상위 비트 구하기 (Find MSB, LSB)

 

1차원 비트 회전하기 (Rotate Bits of a Number)
2차원 비트맵 뒤집기, 회전하기 (Rotate, Flip 2D Bitmap)

 

Window Visual Studio에서 폴더의 모든 파일 통합하기

폴더, 파일 관리 함수 정리 with sys/stat.h, dirent.h, fstream


디자인 패턴

 

생성 패턴

- 싱글턴 패턴 (Singleton Pattern)

- 팩토리 메서드 패턴 (Factory Method Pattern)

- 추상 팩토리 패턴 (Abstract Factory Pattern)

- 프로토타입 패턴 (Prototype Pattern)

- 빌더 패턴 (Builder Pattern)

 

행동 패턴

- 전략, 스트래티지 패턴 (Strategy Pattern)

- 옵저버 패턴 (Observer Pattern)

- 반복자, 이터레이터 패턴 (Iterator Pattern)

- 상태, 스테이트 패턴 (State Pattern)

- 커맨드 패턴 (Command Pattern)

- 템플릿 메서드 패턴 (Template Method Pattern)

- 역할 사슬, CoR 패턴 (Chain of Responsibility Pattern)

- 방문자, 비지터 패턴 (Visitor Pattern)

- 중재자, 미디에이터 패턴 (Mediator Pattern)

- 메멘토 패턴 (Memento Pattern)

 

구조 패턴

- 복합체, 컴포지트 패턴 (Composite Pattern)

- 데코레이터 패턴 (Decorator Pattern)

- 어댑터 패턴 (Adapter Pattern)

- 퍼사드 패턴 (Facade Pattern)

- 프록시 패턴 (Proxy Pattern)

- 브리지 패턴 (Bridge 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)


입출력

 

정수로된 FILE 입력

scanf로 문자열과 공백 받기

scanf를 이용해 정수 1칸 입력 받기

C++ ofstream을 이용한 FILE 출력


포인터

 

허상 포인터 (Dangling Pointer)

포인터와 참조자 (pointer vs reference)

스마트 포인터 (Smart Pointer)

unique_ptr
weak_ptr
shared_ptr
auto_ptr


Virtual / 가상 함수

 

virtual

virtual, type casting
virtual / override
가상 소멸자 (Virtual Destructor)

순수 가상 클래스 (Pure Virtual Class)

가상 함수 테이블 (Virtual Function Table)

인터페이스 vs 추상 클래스 (Java, C++ 비교)


typedef 선언

단락 평가 Short Circuit

구조체의 크기

인라인(inline) 함수

 

explicit

형변환 연산자 (casting operators)

이동 생성자 (move constructor)

임시 객체 (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)

 

call_once로 함수를 한 번만 호출하기

atomic으로 원자적 연산 처리하기 (vs mutex)

CRTP로 인터페이스 만들기 (Interface with Curiously Recurring Template Pattern)

템플릿으로 클래스 상속하기 (Mixin Inheritance)

 

튜플로 여러 값 반환하기 (Returning Multiple Values Using Tuple)

map, functional로 함수 호출하기

연산자 오버로딩을 이용하여 구조체 출력하기 (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

댓글