Programming Languages/C++
C++ 소개
newclass
2025. 3. 27. 23:02
1: C++ 소개
1.1 C++의 역사와 중요성
C++는 1979년 Bjarne Stroustrup에 의해 개발되었으며, C 언어에 객체 지향 프로그래밍 기능을 추가하기 위해 설계되었습니다. 처음에는 "C with Classes"라고 불렸으나, 1983년에 "C++"로 이름이 변경되었습니다. C++라는 이름은 C 언어에서 증가 연산자(++)를 사용한 것으로, C에서 한 단계 발전했다는 의미를 담고 있습니다.
C++의 주요 발전 단계:
- 1998년: 첫 번째 ISO 표준 (C++98)
- 2003년: 기술적 수정 (C++03)
- 2011년: 주요 업데이트 (C++11) - 현대적 C++의 시작
- 2014년: 개선 (C++14)
- 2017년: 추가 기능 (C++17)
- 2020년: 최신 표준 (C++20)
1.2 C++를 사용하는 이유
C++는 다음과 같은 장점을 가지고 있어 여러 분야에서 널리 사용됩니다:
- 성능: 하드웨어에 가까운 수준의 제어가 가능하여 매우 빠른 실행 속도를 제공합니다.
- 다양성: 절차적, 객체 지향적, 함수형, 제네릭 프로그래밍 등 여러 프로그래밍 패러다임을 지원합니다.
- 이식성: 다양한 플랫폼과 운영체제에서 사용할 수 있습니다.
- 컴파일 언어: 소스 코드가 기계어로 직접 변환되어 실행되므로 빠른 성능을 제공합니다.
- 리소스 관리: 메모리와 시스템 리소스를 세밀하게 제어할 수 있습니다.
1.3 C++의 주요 응용 분야
C++는 다음과 같은 다양한 분야에서 사용됩니다:
- 시스템 소프트웨어: 운영체제, 컴파일러, 데이터베이스 등
- 게임 개발: 고성능 게임 엔진 및 AAA 게임
- 임베디드 시스템: 하드웨어 제어 소프트웨어
- 과학 계산: 시뮬레이션, 데이터 분석
- 금융 애플리케이션: 고주파 거래 시스템
- 그래픽 소프트웨어: 이미지 편집 프로그램, CAD 도구
1.4 개발 환경 설정
C++ 프로그래밍을 시작하기 위해 다음과 같은 도구들이 필요합니다:
1.4.1 컴파일러 설치
주요 C++ 컴파일러:
- Windows: Visual C++ (Visual Studio), MinGW (GCC), Clang
- macOS: Clang (Xcode와 함께 제공), GCC
- Linux: GCC, Clang
1.4.2 통합 개발 환경(IDE)
초보자에게 권장되는 IDE:
- Visual Studio: Windows에서 가장 많이 사용되는 IDE
- Visual Studio Code: 경량화된 크로스 플랫폼 IDE, 확장 기능을 통해 C++ 지원
- CLion: JetBrains에서 개발한 크로스 플랫폼 IDE
- Code::Blocks: 초보자에게 친숙한 무료 크로스 플랫폼 IDE
1.4.3 첫 번째 C++ 프로그램 작성 및 컴파일
hello.cpp 파일 생성:
#include <iostream>
int main() {
std::cout << "Hello, C++ World!" << std::endl;
return 0;
}
명령줄에서 컴파일 및 실행:
# GCC 사용
g++ hello.cpp -o hello
./hello
# Visual C++ 사용
cl hello.cpp
hello.exe
1.5. C++의 기본 구조 이해하기
위 예제 코드를 통해 C++ 프로그램의 기본 구조를 살펴보겠습니다:
#include <iostream> // 헤더 파일 포함
// main 함수: 프로그램의 시작점
int main() {
// 표준 출력에 문자열 출력
std::cout << "Hello, C++ World!" << std::endl;
// 프로그램 종료 코드 반환 (0은 정상 종료)
return 0;
}
- #include <iostream>: 입출력 기능을 제공하는 헤더 파일을 포함합니다.
- int main(): 모든 C++ 프로그램의 시작점입니다. int는 main 함수가 정수를 반환함을 의미합니다.
- std::cout: 표준 출력 스트림으로, 콘솔에 텍스트를 출력합니다.
- <<: 출력 연산자로, 오른쪽의 데이터를 왼쪽의 스트림으로 전송합니다.
- std::endl: 개행 문자를 출력하고 출력 스트림을 비웁니다.
- return 0: main 함수가 정상적으로 종료되었음을 운영체제에 알립니다.