Programming Languages/C++(47)
-
람다 표현식과 함수형 프로그래밍
9.5 람다 표현식과 함수형 프로그래밍9.5.1 람다 표현식 고급 기능#include #include #include #include #include #include class Timer {private: std::chrono::high_resolution_clock::time_point start; std::string name; public: Timer(const std::string& n) : name(n) { start = std::chrono::high_resolution_clock::now(); } ~Timer() { auto end = std::chrono::high_resolution_clock::now(); au..
2025.03.28 -
다중 스레딩과 동시성(C++11)
9.4 다중 스레딩과 동시성(C++11)C++11부터는 스레드와 동시성을 위한 표준 라이브러리가 추가되었습니다.9.4.1 스레드 기본 사용#include #include #include #include // 간단한 스레드 함수void hello() { std::cout & numbers, int start, int end, int& result) { result = 0; for (int i = start; i numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int sum1 = 0, sum2 = 0; std::thread t5(calculateSum, std::ref(numbers), 0, 5, std::ref(sum1)); std::t..
2025.03.28 -
스마트 포인터(Smart Pointers) (C++11)
9.3 스마트 포인터(Smart Pointers) (C++11)스마트 포인터는 동적으로 할당된 메모리 관리를 자동화하는 클래스 템플릿입니다.9.3.1 unique_ptrunique_ptr은 해당 자원의 유일한 소유자를 나타냅니다:#include #include #include class Resource {private: std::string name; public: Resource(const std::string& n) : name(n) { std::cout createResource(const std::string& name) { return std::make_unique(name); // C++14 // C++11에서는: return std::unique_p..
2025.03.28 -
파일 입출력
9.2 파일 입출력C++는 파일 작업을 위한 포괄적인 기능을 제공합니다.9.2.1 텍스트 파일 읽기/쓰기#include #include #include int main() { // 파일 쓰기 std::ofstream outFile("example.txt"); if (!outFile) { std::cerr > word) { std::cout 9.2.2 이진 파일 읽기/쓰기#include #include #include struct Person { char name[50]; int age; double salary;};int main() { // 이진 파일 쓰기 std::ofstream outFile("data.bin", std::i..
2025.03.28 -
고급 주제
고급 주제이 챕터에서는, C++의 고급 주제와 최신 기능들을 살펴봅니다. 이러한 고급 기능들은 더욱 효율적이고 안전한 코드를 작성하는 데 도움이 됩니다.9.1 예외 처리(Exception Handling)예외 처리는 프로그램 실행 중 발생하는 오류를 처리하는 메커니즘입니다.9.1.1 예외의 기본 개념#include #include // 표준 예외 클래스double divide(double a, double b) { if (b == 0.0) { throw std::invalid_argument("0으로 나눌 수 없습니다"); } return a / b;}int main() { try { double result = divide(10.0, 2.0); ..
2025.03.28 -
챕터8. 실습 문제
8.6 실습 문제문제 1: 학생 성적 관리 시스템STL 컨테이너와 알고리즘을 사용하여 학생 성적을 관리하는 프로그램을 작성하세요:#include #include #include #include #include #include #include // 학생 정보를 담는 구조체struct Student { std::string name; std::string id; std::vector scores; // 여러 과목 점수 // 평균 점수 계산 double getAverage() const { if (scores.empty()) return 0.0; return static_cast(std::accumulate(scores.begin(), scores...
2025.03.28