티스토리 뷰

기술(Tech, IT)/C++

[C++] 특징

Daniel803 2023. 9. 25. 11:17

C++ 특징에 대해 정리해봤다.

 

  • 객체 지향 프로그래밍 (OOP)
    C++는 클래스와 객체 개념을 도입하여 상속, 캡슐화, 다형성과 같은 기능을 제공. 이러한 기능을 통해 실제 시스템을 더 쉽게 모델링하고 시뮬레이션.
  • 프로시저 프로그래밍 (Procedural Programming)
    C++는 C에서 상속된 절차적 패러다임을 지원하므로 함수를 정의하고, 변수를 사용하고, 루프와 조건문을 사용하여 구조화된 제어 흐름을 가질 수 있다.

  • 저수준 메모리 조작 (Low-Level Memory Manipulation)
    C와 마찬가지로 C++에서는 포인터를 통해 메모리를 직접 조작할 수 있다. 이 기능은 시스템 프로그래밍이나 성능이 중요하게 고려되는 모든 시나리오에 특히 유용.

  • 강력한 타입 검사 (Strong Type Checking)
    C++는 강력한 타입 검사 기능을 갖추고 있어 오류를 줄이고 코드를 더욱 견고하게 만든다. 하지만 유연성을 위해 특정 유형 변환을 허용.

  • 표준 템플릿 라이브러리 (Standard Template Library, STL)
    표준 템플릿 라이브러리는 범용 클래스와 함수에 벡터, 리스트, 큐, 스택과 같이 널리 사용되고 일반적으로 사용되는 알고리즘과 데이터 구조를 구현하는 템플릿을 제공하는 강력한 C++ 템플릿 클래스 집합.

  • 연산자 오버로드 (Operator Overloading)
    C++에서는 사용자 정의 데이터 유형에 맞게 연산자에 대한 새로운 동작을 정의할 수 있다. 예를 들어 "+" 연산자를 오버로드하여 사용자 정의 클래스의 객체 두 개를 추가할 수 있다.
  • 함수 오버로드 (Function Overloading)
    C++에서는 이름은 같지만 매개변수가 다른 여러 함수를 사용할 수 있다.이 기능은 다양한 유형 또는 수의 인수를 받는 함수를 구현할 때 특히 유용.
  • 예외 처리
    C++는 시도, 캐치, 던지기 구문을 통해 오류와 예외를 처리하는 강력한 방법을 도입.

  • 템플릿
    C++는 템플릿을 사용하여 일반적인 프로그래밍을 지원 .하나의 함수 또는 클래스 정의로 다양한 데이터 유형에서 작동할 수 있다.

  • 멀티 스레딩
    엄밀한 의미의 멀티 스레딩 언어 기능은 아니지만 (종종 C++11에 도입된 <thread>와 같은 라이브러리에 의존), C++는 더 나은 리소스 활용을 위해 멀티스레딩을 더 쉽게 수행할 수 있는 방법을 제공.

  • 풍부한 표준 라이브러리 (Rich Standard Library)
    C++에는 강력하고 견고한 기본 라이브러리가 풍부하게 내장되어 있다. 여기에는 입력/출력, 파일 처리 등을 위한 라이브러리가 포함. 

  • 플랫폼 종속성 (Platform Dependent)
    일반적으로 C++ 프로그램은 사용되는 각 플랫폼에 맞게 컴파일해야 하지만 교차 컴파일 기술을 적용할 수도 있-다. 이는 각 플랫폼에 최적화된 코드를 만들 수 있다는 장점과 함께 이식성을 저해하는 단점도 있다.

  • C와의 하위 호환성 (Backward Compatibility with C)
    C++는 C와 대부분 역호환되므로 C++ 환경에서 C 코드를 실행할 수 있다.

  • 최신 C++ 기능 (Modern C++ Features)
    최신 C++ 표준(C++11, C++14, C++17 등)에는 람다 표현식, 자동 키워드, 스마트 포인터 등과 같은 추가 기능이 도입되었다.

참고

- ChatGPT

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형