C++   C++ Programming Language   C++ 언어, C++ 프로그래밍 언어

(2019-01-05)

C++

1. C++ 언어C 언어와 완벽한 하향 호환성을 유지한채, 객체지향 패러다임을 구현한 프로그래밍 언어

  ㅇ 기원
     - 1980년대 벨연구소에서 일하던 Bjarne Stroustrup에 의해 만들어짐


2. C++ 언어 특징C 언어에 기초하여 객체지향 기법을 가미함 (즉, C 언어OOP 특성을 추가)
     - C++은 C 와 같거나 객체지향적인 스타일, 또는 이 두가지를 혼용한 채 프로그램 작성 가능
     - 기존의 C 라이브러리를 그대로 사용 가능

  ㅇ 프로그래밍 단위
     - C 언어 -> 함수
        . 단, C++ 에서는, 참조 호출, 함수 다중 정의 등이 가능하도록 확장됨
     - C++ 언어 -> 클래스C 언어와 달리,
     - 헤더 파일의 확장자 `*.h`를 쓰지 않음
        . 물리적인 파일 이외에도 메모리나 미리 컴파일정보 등을 참조할 수도 있음
     - 지역 변수함수 중간에서도 선언 가능
        . C 언어는, 지역 변수변수 선언을 반드시 함수 선두에 위치해야 하나,
        . C++ 언어는, 함수 중간 등 위치무관 선언 가능

  ㅇ 주석 : /* */ 또는 // 모두 가능

  ㅇ 확장자 : .cpp


3. C++ 자료형C 언어 자료형 그대로 차용
     - 부호 있는 정수형
        . char (1 바이트), short (2 바이트), int (4 바이트), long long (8 바이트)
     - 부호 없는 정수형
        . unsigned char (1 바이트), unsigned short (2 바이트), unsigned int (4 바이트), 
          unsigned long long (8 바이트)
     - 실수(부동소수점)형
        . float (4 바이트), double (8 바이트)

  ㅇ 태그를 하나의 자료형으로 간주하므로,
     - 태그명을 앞에 써넣으면, 자료형 변수 선언이 가능

  ㅇ 명시적 형변환
     - 다음 2가지 형식 모두 가능
        . C 언어 형식   : (타입) 변수 => 例) (float)a
        . C++ 언어 형식 : 타입 (변수) => 例) float(a)

  ㅇ bool 타입
     - C 언어와 달리, bool 타입(1 바이트)이 별도 존재
        . 그러나, 하위 호환성을 위해, int 타입과 직접 비교,대입도 가능

  ㅇ 참조(레퍼런스,reference)
     - 변수에 대해 별명(alias)으로 이름을 하나 더 만듬
        . 형식 : 타입 &변수 = 대상체;


4. C++ 표준 라이브러리 (C++ Standard Library)

  ㅇ C++ 표준에 의해 쓰여진 클래스들과 함수들의 집합

  ㅇ 例) iostream (입출력 스트림) 등

  ㅇ 


5. C++ 동적 메모리 할당동적 메모리 할당/해제를 함수가 아닌 연산자를 사용
     - C 언어는, malloc()/free() 함수를 사용
        . 한편, malloc()은 할당 만 가능, 초기값 부여는 불가
     - C++ 언어는, 연산자 사용하므로 굳이 별도 헤더 파일을 포함시킬 필요 없음
        . (형식) 포인터 = new 타입([초기값]);
        . 한편, 메모리 해제는, delete 연산자를 사용


[C++] 1. C++ 언어

 
        최근수정     요약목록     참고문헌