코딩 44일차 C/ C++

마스터피스·2023년 11월 16일
0

C/ C++ 

목록 보기
15/35
post-thumbnail

C와 C++의 차이

1) C++

  • C++ 는 C 언어에 객체지향의 개념을 얹은 형태입니다. C에서 확장되었다는 의미로 ++ 라는 기호가 사용되었죠. C++는 C에서 사용하는 모든 기능을 지원하며 거기에 추가적인 여러 가지 세련된 문법과 현대적 프로그래밍을 제시해줍니다.

2) 객체지향과 Class

  • 객체지향에서 가장 중요한 개념인 클래스라는 것은 구조체라는 개념에 구조체 전용 함수가 들어가 있는 형태라고 보시면 쉽습니다. 우리는 이번 3챕터에서 이 내용을 중점적으로 배우게 됩니다

3) C 와 C++에서 가장 눈에 띄는 차이

  • 메모리 동적 할당을 위해서 C++ 에서는 new 라는 키워드를 사용하게 됩니다. malloc 을 사용하게 되면 여러모로 복잡하고 귀찮은 코드들이 new 라는 키워드를 통해 한 번에 해결될 수 있습니다.

예시코드)

struct Marine {
    int hp;
    int mp;
    int range;
};

int main() {
    //c에서의 메모리 동적할당
    //Marine* = (Marine*)malloc(sizeof(Marine));
    //free(m)

    Marine* m = new Marine();
    delete m;

    //c 에서의 메모리동적할당
    //int* myArray = (int*)malloc(sizeof(int) * 10);
    //free(myArray);

    int* myArray = new int[100];
    delete[] myArray;

    return 0;

}

4) C / C++ 을 번갈아 사용하는 이유

  • 사실 C++에서 무엇, 어디부터 C 냐 C++ 이냐를 따지는 것은 무의미합니다.하지만 일반적으로 어떤 헤더파일을 include 하느냐, 혹은 어떤 함수를 사용하느냐에 따라 이야기가 달라질 수 있겠습니다만 흔히 C++을 사용하여 입출력을 할 때 std::cout 을 사용하고 std::cin 을 사용하게 됩니다. 하지만 제 강의에서는 고전적인 printf, scanf 등을 사용하게 됩니다. 이렇게 하는 이유는 다른 언어들의 입출력 방식이 대부분 printf나 scanf에서 기인했기 때문에 그렇습니다.
profile
코딩 일지

0개의 댓글