반응형
1. 객체지향 프로그래밍 지원 여부
C는 절차지향 프로그래밍 언어로, 객체지향 프로그래밍을 지원하지 않습니다.
C++은 객체지향 프로그래밍 언어로, 클래스, 상속, 다형성 등 객체지향 프로그래밍의 기능을 지원합니다.
2. 함수 오버로딩
C는 함수 이름 중복을 허용하지 않기 때문에, 함수의 인자 형식이나 개수를 다르게 해서 같은 이름의 함수를 만들 수 없습니다.
C++은 함수 이름 중복을 허용하며, 함수 오버로딩을 통해 인자의 형식이나 개수를 다르게 해서 같은 이름의 함수를 만들 수 있습니다.
3. 표준 라이브러리
C는 표준 라이브러리로 C 표준 라이브러리를 제공합니다.
C++은 C 표준 라이브러리에 더해, STL(Standard Template Library)과 같은 템플릿 기반의 라이브러리를 추가로 제공합니다.
4. 메모리 관리
C는 메모리 할당과 해제를 수동으로 해야 합니다.
C++은 객체 지향 프로그래밍의 특징인 RAII(Resource Acquisition Is Initialization) 방식을 이용하여, 객체 생성 시 자동으로 메모리를 할당하고 소멸 시 자동으로 메모리를 해제합니다.
5. 이름공간(Namespace)
C는 이름공간을 지원하지 않습니다.
C++은 이름공간을 지원하여, 변수, 함수, 클래스 등의 이름 충돌을 방지할 수 있습니다.
이러한 차이점들이 있지만, C와 C++은 상호 호환이 가능하며, C++에서는 C 코드를 포함시켜서 사용할 수 있습니다.
반응형
'Programing > C++' 카테고리의 다른 글
IPv4 주소를 확인하는 C++ 정규식 코드 (0) | 2023.05.04 |
---|---|
c++ 파일 쓰기 예제코드 (0) | 2023.03.11 |
C++ 커리큘럼 가이드 (0) | 2023.02.26 |
STL Vector를 이용한 DataManger Class 만들기 예제 (0) | 2012.05.30 |
Struct (0) | 2011.02.10 |