분류 전체보기(637)
-
C++ 초급 - 12. 최신 C++ 기능 소개 (1 - C++11: 주요 기능 소개)
📌 12. 최신 C++ 기능 소개C++은 지속적인 발전을 거듭하며 새로운 기능이 추가되어 코드의 가독성을 높이고 성능을 최적화하는 기능들을 제공한다.초급 과정에서는 각 버전별 핵심 기능을 간단히 이해하는 데 초점을 맞춘다.📌 12.1 C++11: 주요 기능 소개C++11은 C++의 가장 큰 변화 중 하나로, 타입 추론, 메모리 관리, 이동 시멘틱스 등 코드의 안전성과 효율성을 향상시키는 기능이 추가되었다.📌 1. auto와 decltype을 활용한 타입 추론🔹 (1) auto를 활용한 타입 자동 유추변수의 타입을 컴파일러가 자동으로 추론.타입을 명확히 알 필요가 없을 때 유용.💡 예제: auto 사용법#include #include int main() { auto num = 10; ..
2025.02.22 -
C++ 초급 - 11. 표준 라이브러리(STL) (5 - std::algorithm (정렬 및 탐색 알고리즘))
📌 11.5 std::algorithm (정렬 및 탐색 알고리즘)C++ 표준 라이브러리(STL)의 헤더는 정렬, 탐색, 반복 처리 등의 다양한 알고리즘을 제공하여 코드의 효율성과 가독성을 향상시킨다.특히 std::sort, std::find, std::for_each 등은 자주 사용되는 핵심 알고리즘이다.📌 1. std::sort를 활용한 정렬🔹 (1) std::sort 기본 정렬배열 또는 벡터의 요소를 오름차순으로 정렬.기본적으로 operator.💡 예제: std::sort를 활용한 정렬#include #include #include int main() { std::vector v = {5, 3, 1, 4, 2}; std::sort(v.begin(), v.end()); // 오름차..
2025.02.22 -
C++ 초급 - 11. 표준 라이브러리(STL) (4 - std::pair, std::tuple (C++11 이후 다중 값 저장 컨테이너))
📌 11.4 std::pair, std::tuple (C++11 이후 다중 값 저장 컨테이너)C++에서는 여러 개의 값을 한 번에 저장하기 위해 std::pair와 std::tuple을 제공한다.이를 활용하면 여러 개의 변수를 하나의 단위로 관리할 수 있으며, std::get, std::tie(), 그리고 C++17의 구조적 바인딩을 사용하여 데이터를 효과적으로 다룰 수 있다.📌 1. std::pair를 활용한 두 개의 값 저장🔹 (1) std::pair란?두 개의 값(키-값 쌍 등)을 저장하는 C++ 표준 라이브러리 컨테이너.서로 다른 데이터 타입을 저장할 수 있음.std::map, std::unordered_map에서 키-값 쌍으로 많이 사용됨.💡 기본 문법#include // std::p..
2025.02.22 -
C++ 초급 - 11. 표준 라이브러리(STL) (3 - std::set, std::unordered_set (중복 없는 집합 컨테이너))
📌 11.3 std::set, std::unordered_set (중복 없는 집합 컨테이너)C++에서는 중복 없는 요소를 저장하고 관리할 수 있는 컨테이너로 std::set (정렬된 집합)과 std::unordered_set (해시 기반 집합)을 제공한다.각각 이진 검색 트리와 해시 테이블을 기반으로 동작하며, 사용 목적과 성능 차이가 존재한다.📌 1. std::set (정렬된 중복 없는 요소 저장)🔹 (1) std::set이란?중복을 허용하지 않는 정렬된 집합 컨테이너.이진 검색 트리(Red-Black Tree)를 기반으로 동작.시간 복잡도: 삽입, 삭제, 탐색 연산이 O(log N).자동 정렬된 상태로 요소를 유지.💡 기본 문법#include std::set mySet; // 정수형 집합 선..
2025.02.22 -
C++ 초급 - 11. 표준 라이브러리(STL) (2 - std::map, std::unordered_map (연관 컨테이너))
📌 11.2 std::map, std::unordered_map (연관 컨테이너)C++에서는 연관 컨테이너(Associative Container)를 사용하여 키-값 쌍을 저장하고 효율적으로 검색할 수 있다.대표적인 연관 컨테이너로 std::map과 std::unordered_map이 있으며, 각각 이진 검색 트리 기반(정렬 저장)과 해시 기반(빠른 검색)의 차이가 있다.📌 1. std::map (정렬된 키-값 쌍 저장)🔹 (1) std::map이란?키(Key)에 대해 자동으로 정렬되는 연관 컨테이너.내부적으로 이진 검색 트리(Red-Black Tree)를 사용하여 데이터를 저장.시간 복잡도: 삽입, 삭제, 검색 연산이 O(log N).중복된 키를 허용하지 않음 (std::multimap은 중복 허..
2025.02.22 -
C++ 초급 - 11. 표준 라이브러리(STL) (1 - std::vector, std::array (동적 및 정적 배열))
📌 11. 표준 라이브러리(STL)C++ 표준 템플릿 라이브러리(STL, Standard Template Library)는 효율적인 데이터 구조와 알고리즘을 제공하는 강력한 라이브러리이다.이를 활용하면 자료구조를 직접 구현할 필요 없이 효율적인 컨테이너와 알고리즘을 사용할 수 있다.📌 11.1 std::vector, std::array (동적 및 정적 배열)C++에서 배열을 다룰 때 크기를 동적으로 조절할 수 있는 std::vector와 고정 크기를 가지는 std::array를 사용할 수 있다.이들은 STL 컨테이너로 강력한 기능을 제공하며, 배열보다 안전하고 유용하게 활용 가능하다.📌 1. std::vector 개념 및 동적 크기 조절🔹 (1) std::vector란?동적 배열 컨테이너로 크기를..
2025.02.22