전체 글62 24.12.09 언리얼(STL의 자료구조과 알고리즘) 어제 배웠던 STL과 알고리즘에 대해 자세히 알아보자Vector벡터는 동적배열로, 사용자가 원하는 만큼 크기를 조절합니다. 인덱스를 통해 빠른 접근이 가능합니다.단점: 연속된 메모리 구조로 인해 중간요소를 삽입하거나 삭제할때 시간이 걸립니다. ex)std::vector numbers;numbers.push_back(5);numbers.push_back(10);numbers.push_back(15);for (size_t i = 0; i std::cout } // 출력: 5 ,10,15numbers.pop_back();//출력 : 5, 10 list리스트는 이중연결리스트(연결된 기차라고 생각하면 편함 )로 ,중간 삽입과 삭제가 빠릅니다. 연속된 메모리가 없기에 메모리 할당도 자유롭습니다.단점: 인덱스.. 2024. 12. 9. 24.12.08 언리얼( STL의 기본 개념과 사용법) STL이란?STL은 템플릿 기반의 데이터 구조와 알고리즘을 제공하는 라이브러리입니다.STL을 사용하면, 프로그래머는 데이터를 저장하고 처리하는 데 필요한 표준화된 도구를 활용할 수 있습니다.장점:코드 재사용성 향상.안전하고 빠른 데이터 구조 및 알고리즘 제공.타입에 독립적인 템플릿 기반 설계.종류?컨테이너(Containers)(1) 순차 컨테이너 (Sequence Containers)컨테이너설명예시vector동적 배열vector v;deque양방향에서 빠른 삽입/삭제가 가능한 배열deque d;list이중 연결 리스트list l;array크기가 고정된 정적 배열array arr;(2) 연관 컨테이너 (Associative Containers)컨테이너설명예시set중복되지 않는 정렬된 데이터 집합set s;.. 2024. 12. 8. 24.12.07 언리얼(스마트 포인터에 대하여) 기본 포인터 vs 스마트 포인터?기본 포인터 기본 포인터는 동적으로 할당된 메모리를 직접 관리해야 합니다. 만약 개발자가 delete를 호출하지 않으면 메모리 누수가 발생합니다. 이 메모리 누수를 해결하기 위해 나온 것이 스마트 포인터 입니다. 스마트 포인터는 자동으로 메모리 해제를 처리합니다.스마트 포인터 객체가 더 이상 필요 없게 되면(스코프를 벗어나면) 내부적으로 메모리를 자동으로 해제합니다.#include #include // 스마트 포인터를 사용하기 위해 필요 using namespace std; int main() { unique_ptr ptr = make_unique(42); // 스마트 포인터 생성 cout // 자동으로 메모리 해제 (delete 필요 없음) .. 2024. 12. 7. 24.12.06 언리얼 (템플릿에 대하여) C++에서 템플릿(Template)은 함수나 클래스를 일반화하여 다양한 데이터 타입을 처리할 수 있도록 하는 기능입니다. 이를 통해 중복된 코드를 줄이고 코드의 재사용성을 극대화할 수 있습니다. 함수 템플릿과 클래스 템플릿은 템플릿의 대표적인 두 가지 형태입니다. 1. 템플릿의 필요성같은 논리를 여러 타입에 대해 반복할 때 유용일반적으로, 같은 기능을 다른 데이터 타입에 대해 사용하려면 중복된 코드를 작성해야 합니다.#include using namespace std; // 정수를 더하는 함수 int addInt(int a, int b) { return a + b; } // 실수를 더하는 함수 double addDouble(double a, double b) { return a + b; .. 2024. 12. 6. 24.12.06 언리얼( Cpp의 상속의 개념) C++에서 상속은 기존 클래스의 기능을 이어받아 새로운 클래스를 만드는 중요한 개념입니다. 마치 부모로부터 자식이 유전적인 특징을 물려받는 것처럼, 상속을 통해 기존 코드를 재사용하여 효율적인 개발이 가능합니다. 상속은 코드 재사용성을 높이고 유지보수를 용이하게 하여 프로그램을 더 간결하고 관리하기 쉽게 만듭니다. 상속의 장점코드 재사용성:부모 클래스에서 정의한 코드를 다시 작성하지 않고 재사용할 수 있음.유지보수성:공통된 기능은 부모 클래스에만 수정하면 됨.계층적 구조 표현:예: Animal → Dog, Cat처럼 공통된 특성과 행동을 공유. 부모 클래스(Base Class, Superclass): 다른 클래스에 의해 상속되는 클래스자식 클래스(Derived Class, Subclass): 부모 클래스.. 2024. 12. 6. 24.12.06 언리얼(Cpp 멤버변수,메소드 등) 사용법 C++에서 클래스는 객체 지향 프로그래밍의 핵심 요소로, 객체의 데이터와 동작을 캡슐화하여 코드의 재사용성과 유지보수성을 향상시킵니다. 클래스를 사용하면 다양한 객체를 모델링하고, 객체 지향 프로그래밍의 장점을 효과적으로 활용할 수 있습니다 클래스의 기본요소 class 클래스이름 { public: // 공개 멤버 변수 및 메소드 private: // 비공개 멤버 변수 및 메소드 }; public: 외부에서 접근 가능한 멤버들private: 클래스 내부에서만 접근 가능한 멤버들 멤버 변수는 클래스의 인스턴스(객체)와 연관된 데이터를 저장합니다.class Person { public: std::string name; // 이름 int age; // 나이 };.. 2024. 12. 6. 이전 1 ··· 7 8 9 10 11 다음