개발벤제마
C++ 2주차 본문
특징C++C언어
장점 | ||
객체지향 프로그래밍 | 클래스와 객체를 통한 캡슐화 지원 | 절차적 프로그래밍에 최적화 |
코드 재사용성 | 상속과 다형성을 통한 코드 재사용 | 간단한 구조로 이해하기 쉬움 |
표준 라이브러리 | STL(Standard Template Library)로 다양한 데이터 구조 제공 | 기본적인 라이브러리만 제공 |
강력한 타입 검사 | 더 강력한 타입 검사 기능 | 상대적으로 느슨한 타입 검사 |
예외 처리 | 예외 처리 기능 지원 | 예외 처리 기능 없음 |
단점 | ||
복잡성 | 문법이 복잡하고 학습 곡선이 큼 | 문법이 간단하고 배우기 쉬움 |
실행 속도 | 객체지향 특성으로 인해 약간 느릴 수 있음 | 높은 성능과 빠른 실행 속도 |
메모리 관리 | 동적 메모리 관리가 복잡할 수 있음 | 메모리 관리가 간단함 |
타입 결정 시점 | 컴파일 시점 (컴파일 타임) | 실행 시점 (런타임) |
타입 검사 | 컴파일러가 타입을 검사 | 실행 중에 타입을 검사 |
유연성 | 타입이 고정되어 있어 유연성이 낮음 | 타입이 변할 수 있어 유연성이 높음 |
오류 발견 | 컴파일 시점에 타입 관련 오류 발견 | 런타임 시점에 오류 발견 |
성능 | 일반적으로 성능이 더 좋음 | 성능이 낮을 수 있음 |
주요 언어 예 | C, C++, Java, Swift | Python, JavaScript, Ruby, PHP |
연산자C/C++JavaJavaScript
산술 연산자 | +, -, *, /, % | +, -, *, /, % | +, -, *, /, % |
증가/감소 연산자 | ++, -- (전위/후위) | ++, -- (전위/후위) | ++, -- (전위/후위) |
비교 연산자 | ==, !=, <, >, <=, >= | ==, !=, <, >, <=, >= | ==, ===, !=, !==, <, >, <=, >= |
논리 연산자 | &&, ` | , !` | |
비트 연산자 | &, ` | , ^, ~, <<, >>` | &, ` |
대입 연산자 | =, +=, -=, *=, /=, %= | =, +=, -=, *=, /=, %= | =, +=, -=, *=, /=, %= |
삼항 연산자 | ? : | ? : | ? : |
typeof 연산자 | N/A | N/A | typeof |
null 체크 | N/A | null | null, undefined |