반응형 -----ETC-----/C++ 고급 프로그래밍과 응용 프로젝트 시리즈31 [C++ 고급 프로그래밍과 응용 프로젝트 시리즈] Day 4: C++20의 개념과 모듈 Concepts (개념)Concepts는 템플릿 인자의 요구사항을 명확히 정의하는 새로운 기능입니다. Concepts를 사용하면 코드의 가독성과 유지보수성을 크게 향상시킬 수 있습니다. Concepts의 기본 사용법Concepts는 템플릿 인자에 대해 특정 조건을 명시할 수 있습니다. 이를 통해 템플릿 함수나 클래스가 특정 타입이나 속성에 대해서만 작동하도록 할 수 있습니다. 기본 사용법 예제#include #include // 정수 타입에 대해서만 작동하는 Concept 정의template concept Integral = std::is_integral_v;// Integral 타입에 대해서만 작동하는 함수template void func(T value) { std::cout 위의 코드에서 In.. 2024. 8. 1. [C++ 고급 프로그래밍과 응용 프로젝트] Day 2: 고급 템플릿 프로그래밍 템플릿은 C++의 강력한 기능으로, 코드의 재사용성을 높이고 일반화된 프로그래밍을 가능하게 합니다. 오늘은 템플릿 프로그래밍의 고급 개념들을 다루겠습니다. 템플릿 특수화 (Template Specialization)템플릿 특수화는 특정 타입에 대해 템플릿을 특수화하여 다르게 동작하도록 하는 방법입니다. 템플릿 특수화는 주로 기본 템플릿이 특정 타입에 대해 적합하지 않을 때 사용됩니다. 기본 템플릿#include template class MyClass {public: void display() { std::cout 특수화 템플릿template class MyClass {public: void display() { std::cout obj1; obj1.displ.. 2024. 8. 1. [C++ 고급 프로그래밍과 응용 프로젝트] Day 1: 람다 함수와 함수 객체 람다 함수 (Lambda Functions)람다 함수는 인라인으로 정의된 익명 함수로, 함수 객체를 간편하게 정의할 수 있는 방법입니다. 람다 함수는 특히 코드에서 일회성으로 사용되는 짧은 함수를 정의할 때 유용합니다. 람다 함수의 기본 구조람다 함수의 기본 구조는 다음과 같습니다:[capture](parameters) -> return_type { // 함수 본문};capture: 람다 함수가 외부 범위에서 변수를 캡처하는 방식입니다.parameters: 함수의 매개변수입니다.return_type: 함수의 반환 타입입니다.함수 본문: 람다 함수의 실제 코드입니다.기본 예제람다 함수를 사용하여 벡터의 요소를 출력하는 예제를 살펴보겠습니다.#include #include #include int mai.. 2024. 8. 1. [C++ 고급 프로그래밍과 응용] 목차 C++ 고급 프로그래밍과 응용 프로젝트 시리즈Day 1: 람다 함수와 함수 객체Day 2: 고급 템플릿 프로그래밍Day 3: SFINAE와 개념Day 4: C++20의 개념과 모듈Day 5: 범위 기반 for 루프와 초기화 리스트Day 6: constexpr과 상수 표현식Day 7: R-값 참조와 이동 시멘틱Day 8: 싱글톤 패턴Day 9: 팩토리 패턴Day 10: 전략 패턴Day 11: 옵저버 패턴Day 12: 데코레이터 패턴Day 13: 커맨드 패턴Day 14: 템플릿 메소드 패턴Day 15: 프로젝트 소개 및 설계 (프로젝트 1: 간단한 웹 서버)Day 16: 프로젝트 1 - HTTP 프로토콜 이해 및 구현Day 17: 프로젝트 1 - 요청 처리 및 라우팅 구현Day 18: 프로젝트 1 - 멀티스.. 2024. 6. 20. 이전 1 2 3 4 다음 반응형