study3 [C++] STL container C++의 STL(Standard Template Library)에서 제공하는 컨테이너들은 데이터를 효율적으로 저장하고 관리할 수 있도록 도와줍니다. vector, list, deque는 모두 시퀀스 컨테이너로, 저장된 데이터의 순서를 유지하며 각기 다른 상황에서 효율성을 제공합니다. 1. vector (동적 배열)특징: 크기를 자동으로 조절하는 동적 배열입니다. 요소를 뒤에서 삽입하거나 삭제하는 작업은 빠르지만, 중간에 삽입하거나 삭제하는 작업은 느림사용 예: 배열처럼 사용하되 크기가 변경될 수 있는 경우에 적합 #include #include int main() { std::vector v = {1, 2, 3}; // 초기화 v.push_back(4); // 끝에 4 추가 v.pus.. 2024. 10. 19. [C++] 템플릿 프로그래밍(template programming) 템플릿 프로그래밍(template programming)= 제너릭 프로그래밍(generic programming) C: 절차지향 언어(Procedural language)JAVA : 객체지향언어(Object-Oriented language) C++은 표준으로 템플릿을 라이브러리 형태로 제공한다. (STL) 근데 템플릿은 잘못 작성하면 미친듯한 오류를 생성해낸다. 그럼에도 쓰는 이유는- 타입 독립성(코드의 재사용성)- 코드 중복 감소- 컴파일 타임에 오류 발견 템플릿(Template)- 함수의 작성을 용이하게 하고, 재사용 가능하게끔 하여 SW 생산성과 유연성을 증가시킨다.-- 자료형이 변할 때마다 함수(클래스)를 새로 작성할 이유가 없다. - c에서 #define으로 정의되는 매크로와 유사하지만, 타입.. 2024. 10. 18. [C++] C++ 소개 C++ 특징 절차적 프로그래밍(Procedural programming)- 적절한 데이터 구조 설계의 초점이 맞춰짐- C와 다르게 다른 언어에서도 C++를 통해 이 절차적 프로그래밍을 지원해줌데이터 추상화(Data abstraction)- 클래스를 통해 구체적이고, 추상적인 데이터들을 관리- 클래스 내부에 데이터와 그 데이터를 처리하는 함수(메서드)를 포함시켜 데이터의 구조와 동작을 캡슐화.- 인터페이스를 통해 사용자는 내부 구현 세부 사항에 의존하지 않고 클래스의 기능을 활용 가능객체 지향 프로그래밍(Object-oriented programming)- 클래스, 상속, 다형성, 캡슐화와 같은 OOP 개념을 통해 유지보수성과 재사용성을 높임.- 설계 단계에서 객체 간의 관계를 정의하고, 코드에서 이러한 .. 2024. 9. 22. 이전 1 다음