C++ 클래스 구조 및 대규모 프로젝트 아키텍처 설계

C++ 클래스 파일 분할 구조 C++는 C#이나 Java와 달리 클래스의 선언과 구현을 물리적으로 분리하는 구조를 가집니다. 일반적으로 헤더 파일(.h 또는 .hpp)과 소스 파일(.cpp)로 나뉩니다. C#에서의 클래스 정의: public class Employee { public void CalculateSalary() { // 구현 로직 } } C++에서의 클래스 정의: // Employee.h #pragma once c ...

7월 26일 14:56에 게시됨

C++ 핵심 개념 정리

1. 객체지향 3대 특성 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism) 2. 접근 지정자 private, protected, public 3. 생성자와 소멸자 클래스에는 기본 생성자, 복사 생성자, 대입 연산자, 소멸자가 포함된다. class Data { private: int x; int y; int z; public: Data(int a, int b, int c) : x(a), y(b), z(c) { // 초기 ...

7월 21일 06:07에 게시됨

C++ 스마트 포인터의 원리와 활용

스마트 포인터가 필요한 이유 C++에서 동적 메모리를 직접 관리하다 보면 예외 발생 시 delete를 놓쳐 메모리 누수가 생길 수 있습니다. 특히 복잡한 제어 흐름이나 예외 처리 과정에서는 자원 해제를 보장하기 어렵습니다. 이를 해결하기 위해 '자원 획득은 초기화다(Resource Acquisition Is Initialization, RAII)'라는 개념을 기반으로 한 스마트 포인터가 등장했습니 ...

5월 23일 08:32에 게시됨