티스토리 뷰
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
반응형
'기술(Tech, IT) > C++' 카테고리의 다른 글
[C++] Overriding (오버라이딩) (0) | 2023.10.26 |
---|---|
[C++] Overloading (오버로딩) (0) | 2023.10.25 |
[C++] Pointer와 Reference (포인터와 참조) (0) | 2023.10.24 |
[C++] Pointer (포인터) (0) | 2023.09.24 |
[C++] lambda expression (람다 함수) (0) | 2023.09.22 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 리트코드
- tf-idf
- vertex shader
- 티스토리챌린지
- Computer Graphics
- min heap
- defaultdict
- 이코노미스트
- 소켓 프로그래밍
- 오블완
- 파이썬
- 이코노미스트 에스프레소
- leetcode
- I2C
- 안드로이드
- join
- 머신 러닝
- 딕셔너리
- java
- machine learning
- 투 포인터
- Android
- The Economist
- socket programming
- C++
- ml
- The Economist Espresso
- Python
- Hash Map
- DICTIONARY
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함
반응형