Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C#과 C++의 차이점

<시간/>

먼저 C#과 C++에 대해 알아보자 -

  • C#은 범용 객체 지향 프로그래밍 언어입니다.
  • 순수한 객체 지향 프로그래밍 언어로 간주됩니다.
  • '날카롭게'로 발음됩니다.
  • Microsoft의 Anders Hejlsberg와 그의 팀이 개발했습니다.
  • 메모리 관리는 가비지 수집기가 자동으로 수행합니다.
  • 목표가 완료되면 개체를 자동으로 삭제하는 것은 언어의 의무입니다.
  • 창에 따라 다르므로 모든 시스템에서 사용할 수는 없습니다.
  • 다중 상속을 지원하지 않습니다.
  • C#의 포인터는 안전하지 않은 모드에서만 사용할 수 있습니다.
  • 고급 언어로 간주됩니다.
  • 코드가 컴파일되면 중간 언어로 변환됩니다.
  • 콘솔 애플리케이션은 물론 모바일 및 Windows 애플리케이션을 개발하는 데 사용할 수 있습니다.
  • 잘 정의된 클래스 계층 구조를 가지고 있기 때문에 이해하고 작업하기 쉽습니다.
  • 배열 데이터 구조의 경계 검사는 컴파일러에서 수행합니다.
  • 이 때문에 프로그래머가 유효하지 않은 배열 인덱스에 접근하려고 하면 컴파일 오류가 발생합니다.

C++

  • C++는 정적으로 유형이 지정된 다중 패러다임 언어입니다.
  • 객체 지향 프로그래밍 언어이기도 합니다.
  • 그러나 특정 기본 데이터 유형이 있기 때문에 순수한 객체 지향 프로그래밍 언어는 아닙니다.
  • 코드가 컴파일된 후 기계어, 즉 저수준 언어로 직접 변환됩니다.
  • 처음에는 클래스가 있는 C로 알려졌습니다. 나중에 C++로 변경되었습니다.
  • '더하기 더하기'로 발음합니다.
  • AT &T Bell Laboratories의 Bjarne Stroustrup이 개발했습니다.
  • C++의 메모리 관리는 프로그래머/개발자가 수동으로 수행합니다. 그들은 물건을 만들고 사용이 끝나면 그것을 사용하고 파괴하는 데 전적으로 책임이 있습니다.
  • 플랫폼 종속성:C++의 코드는 모든 플랫폼에서 실행할 수 있습니다.
  • 애플리케이션이 하드웨어와 직접 상호 작용해야 하는 경우에 사용됩니다.
  • 다중 상속:C++는 클래스의 도움으로 다중 상속을 지원합니다. 즉, 한 클래스가 한 시점에서 둘 이상의 클래스로 확장될 수 있습니다.
  • C++ 포인터는 프로그램 내 어디에서나 사용할 수 있습니다.
  • 일반적으로 콘솔 애플리케이션을 개발하는 데 사용됩니다.
  • 컴파일러에서 경계 검사를 수행하지 않습니다. 프로그래머가 잘못된 배열 인덱스에 액세스하려고 하면 컴파일 오류가 발생하지 않고 잘못된 출력만 표시됩니다.

이제 차이점을 살펴보겠습니다 -

C# C++
C#은 범용 객체 지향 프로그래밍 언어입니다. C++는 정적으로 유형이 지정된 다중 패러다임 언어입니다.

순수한 객체 지향 프로그래밍 언어로 간주됩니다. 그러나 특정 기본 데이터 유형이 있기 때문에 순수한 객체 지향 프로그래밍 언어는 아닙니다.
메모리 관리는 가비지 수집기에 의해 자동으로 수행됩니다. 메모리 관리는 가비지 수집기에 의해 자동으로 수행됩니다.
다중 상속을 지원하지 않습니다. C++는 클래스의 도움으로 다중 상속을 지원합니다. 이는 한 클래스가 한 시점에서 둘 이상의 클래스로 확장될 수 있음을 의미합니다.
C#의 포인터는 안전하지 않은 모드에서만 사용할 수 있습니다. C++ 포인터는 프로그램 내 어디에서나 사용할 수 있습니다.
콘솔 애플리케이션은 물론 모바일 및 Windows 애플리케이션을 개발하는 데 사용할 수 있습니다. 일반적으로 콘솔 애플리케이션을 개발하는 데 사용됩니다.
배열 데이터 구조의 경계 검사는 컴파일러에서 수행합니다. 컴파일러에서 경계 검사를 수행하지 않습니다. 프로그래머가 잘못된 배열 인덱스에 액세스하려고 하면 컴파일 오류가 발생하지 않고 잘못된 출력만 표시됩니다.