1 분 소요

C++ 의 주요 구성 요소는 하기와 같습니다.

  1. main() 함수

    어플리케이션의 시작 함수입니다.

    1
    
     void main(void) {}
    
  2. 입출력

    1
    2
    
     std::cout << "Hello world" << std::endl;
     std::cin>>val;
    
  3. 네임스페이스

    이름 충돌을 피하기 위한 유효 범위를 제공합니다.

    1
    
     using namespace std;
    
  4. 포인터와 참조자

    포인터 외에 참조자를 제공합니다. 포인터는 널(NULL)이 될 수 있지만, 참조자는 널이 될 수 없습니다.

    1
    2
    
    int i;
    int& j = i;
    
  5. 기본 타입, 배열, 구조체, 클래스, 공용체

    데이터를 저장하고 처리합니다.

    특히 구조체와 클래스는 데이터와 이를 처리하는 함수를 응집하여 개체 지향 프로그래밍을 가능하게 합니다.

  6. 리터럴

    10, 20등 값을 나타내는 상수입니다.

  7. 연산자

    +, -등 데이터들을 연산합니다.

  8. 제어문

    if(), for()등 구문을 분기하거나 반복합니다.

  9. 함수

    코드를 재활용하여 구조적 프로그래밍을 가능하게 합니다.

  10. 형변환

    용도에 따라 구분하여 형변환 할 수 있도록 static_cast, const_cast, dynamic_cast, reinterpret_cast를 제공합니다.

  11. 템플릿

    타입에 따라 클래스나 함수를 생성하는 틀입니다.

  12. 예외처리

    예외를 발생/복원/전파/탐지할 수 있습니다.

    1
    2
    
     try {}
     catch (...) {}
    
  13. STL : 문자열

    표준 템플릿 라이브러리(Standard Template Library, STL)를 통해 문자열 타입을 제공합니다.

    1
    2
    
     #include <string>
     std::string str = "Hello world";
    
  14. STL : 컨테이너

    데이터 자료구조를 관리할 수 있는 컨테이너를 제공합니다.(vector, list, queue, stack, deque, priority_queue, set, multiset, map, multimap)

    1
    2
    
    std::vector<int> data(100); // 기본값으로 초기화된 100개의 요소
    data[0] = 10;
    
  15. STL : 이터레이터(반복자)

    컨테이너의 요소 탐색을 위해 이터레이터(반복자)를 제공합니다.

    1
    2
    3
    4
    5
    
     std::vector<int> datas;
    
     for(std::vector<int>::iterator itr = datas.begin(); itr != datas.end(); ++itr) {
         std::cout << (*itr) << std::endl;
     }
    
  16. STL : 알고리즘

    일련의 동작에 대한 표준 알고리즘을 제공합니다.(for_each(), remove(), find(), count())

  17. STL : 스마트 포인터

    auto_ptr을 제공합니다.(모던 C++에선 사라졌습니다.)

댓글남기기