본문 바로가기
반응형

전체 글79

[C++] 27. Singleton 📌 요약: Singleton 디자인 패턴 | 전역 인스턴스 | 복사 방지 | 전역 접근 지점🔒 싱글톤 패턴 (Singleton Pattern) 싱글톤 패턴은 단 하나의 인스턴스만 존재하게 만드는 디자인 패턴입니다. 해당 클래스의 객체는 static으로 선언되어, 애플리케이션 전역에서 하나의 인스턴스를 공유하게 됩니다.📌 사용 이유 1. 코드의 가독성 향상: 중복된 클래스 생성 없이 하나만 사용하므로 코드를 추적하기 쉬움 2. 불필요한 객체 생성을 방지: 동일한 기능을 하는 객체를 여러 번 만들 필요 없음 3. 설계를 더 정교하게: 공유된 객체를 중심으로 구조를 설계하게 되므로 코드의 질이 향상됨✅ 기본 구조class Singleton {private: Singleton() {} .. 2025. 3. 29.
[C++] 26. Template 📌 요약: 함수 템플릿 | 클래스 템플릿 | 명시적 특수화🛠️ 템플릿 (Template) 템플릿은 사용자가 지정한 자료형에 맞게 함수와 클래스를 컴파일 시간에 생성하는 구문입니다.📅 함수 템플릿 템플릿 함수는 template가 추가되며, 사용시에 자료형에 맞는 함수를 만들어 사용합니다.templatevoid Swap(T& left, T& right) { T temp = left; left = right; right = temp;}int a = 10, b = 20;Swap(a, b);templateT Multi(T left, T right) { return left * right;}cout (5, 3) 📄 클래스 템플릿 클래스도 템플릿으로 작성할 경우, 해당 자료형에 .. 2025. 3. 29.
[C++] 25. Pointer(3) - Smart Pointer 📌 요약: 함수 포인터 구조 | 함수의 주소 저장 | typedef 객체화 | 콜백 함수🔧 함수 포인터 (Function Pointer) 함수 포인터는 함수의 주소를 저장하는 변수로, 함수를 변수처럼 가능하게 처리하고자 할 때 사용합니다.📅 포범 구조 함수 포인터는 단순한 구조가 아닌, 반환형과 매개변수가 같아야 사용할 수 있습니다.int Add(int left, int right) { return left + right; }int Sub(int left, int right) { return left - right; }// 함수 포인터 변수 선언int (*funcPtr)(int, int);funcPtr = Add;cout 📑 typedef 을 이용한 객체화 획색적인 선언만으로 함수 포인터를 .. 2025. 3. 29.
[C++] 24. Pointer(2) - Function Pointer 📌 요약: 함수 포인터 구조 | 함수의 주소 저장 | typedef 객체화 | 콜백 함수🔧 함수 포인터 (Function Pointer)함수 포인터는 함수의 주소를 저장하는 변수로, 함수를 변수처럼 가능하게 처리하고자 할 때 사용합니다.📅 포범 구조함수 포인터는 단순한 구조가 아닌, 반환형과 매개변수가 같아야 사용할 수 있습니다.int Add(int left, int right) { return left + right; }int Sub(int left, int right) { return left - right; }// 함수 포인터 변수 선언int (*funcPtr)(int, int);funcPtr = Add;cout 📑 typedef 을 이용한 객체화획색적인 선언만으로 함수 포인터를 관리하기 어.. 2025. 3. 29.
[C++] 23. Array 📌 요약: 배열 선언 | 인덱스 | 길이 계산 | 고정 배열 vs 동적 배열 | 다차원 배열 | 반복문 활용🧱 배열 (Array)배열은 같은 자료형의 여러 변수를 연속적으로 저장하는 자료 구조입니다. 각 값은 인덱스로 접근할 수 있고, 반복 처리에 유용하게 쓰입니다.📌 배열 선언과 초기화배열은 크기를 명시하거나 초기값을 지정해 선언합니다.const int count = 5;int array[count]; // 크기만 지정한 배열int numbers[3] = { 1, 3, 5 }; // 초기값을 지정하여 선언int ints[] = { 5, 7, 9, 8 }; // 크기를 생략하면 초기값의 개수로 자동 결정📌 배열 요소 접근과 인덱스배열은 0부터 시작하는 인덱스를.. 2025. 3. 29.
[C++] 22. String 문자열 📌 요약: 문자열 | C 스타일 문자열 | C++ string | 문자열 연산 | 비교 | 삽입 | 삭제 | 대체🧵 문자열 (String)문자열은 문자들이 연속된 배열이며, C++에서는 C 스타일 문자열과 C++의 string 클래스를 통해 다양한 방식으로 다룰 수 있습니다.📌 C 스타일 문자열문자 배열로 표현되며, 문자열의 끝은 '\0'으로 마무리합니다.char charArray1[] = { 'A','B', 'C', 'D', '\0', 'E', 'F' };cout 📌 C++ string 클래스C++에서 제공하는 string 클래스는 문자열을 안전하고 유연하게 다룰 수 있도록 도와줍니다.string str = "ABCD";str = "EFGH"; // EFGHcout 📌 문자열 길이 및 공백 확.. 2025. 3. 29.
반응형