"C++"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(단점)
(단점)
12번째 줄: 12번째 줄:
 
== 단점 ==
 
== 단점 ==
 
*[[가비지 컬렉션]](Garbage Collection)
 
*[[가비지 컬렉션]](Garbage Collection)
C++ 언어에서는 메모리 영역을 사용한 뒤에는 더는 그 영역에 접근하지 않아 메모리 공간이 낭비된다. 이렇게 낭비된 공간을 '''가비지'''라고 하고, 이러한 가비지들이 쌓이면 프로그램에 심각한 오류를 발생시킨다. 그 가비지를 없애주는 역할을 하는 것이 [[가비지 컬렉터]](Garbage Collector)이다. 하지만 C 언어계열에서는 이 가비지 컬렉터가 없기 때문에 개발자가 직접 구현해주어야 한다.
+
C++ 언어에서는 메모리 영역을 사용한 뒤에는 더는 그 영역에 접근하지 않아 메모리 공간이 낭비된다. 이렇게 낭비된 공간을 '''가비지'''라고 하고, 이러한 가비지들이 쌓이면 프로그램에 심각한 오류를 발생시킨다. 그 가비지를 없애주는 역할을 하는 것이 '''가비지 컬렉터'''(Garbage Collector)이다. 하지만 C 언어계열에서는 이 가비지 컬렉터가 없기 때문에 개발자가 직접 구현해주어야 한다.
  
 
*복잡성
 
*복잡성

2019년 6월 25일 (화) 10:23 판

C++(C plus plus)은 1983년 덴마크 출신의 비야네 스트롭스트룹(Bjarne Stroustrup)이 미국 AT&T벨 연구소 시절에 기존의 C 언어기능을 확장하여 개발한 프로그래밍 언어이다. 문법은 그대로 유지하고, 객체 지향 프로그래밍(OOP)의 개념을 도입했다. 씨 플러스 플러스 또는 간략히 씨뿔뿔이라고 읽는다. C 언어에서 D 언어가 아닌 C++ 언어가 된 이유는 C 언어를 바탕으로 필요한 부분만 향상됐기 때문이다.

특징

간결성

예약어가 적고 제공하는 연산자가 다양하기 때문에 짧은 명령으로 많은 작업을 할 수 있다.

효율성

C++ 언어가 기능상 C 언어보다 우위에 있지만, C 언어보다 복잡하고 생성된 프로그램 자체가 크고 느린 탓에 소규모 프로젝트나 성능이 중요시되는 분야에는 적합하지 않다.

이식성

대부분의 플랫폼에서 C++ 언어를 사용할 수 있으므로 재컴파일만 하면, 다른 운영체제에서 사용이 가능하다.

범용성

응용프로그램을 개발할 수 있는 모든 분야에서 활용할 수 있다.

단점

C++ 언어에서는 메모리 영역을 사용한 뒤에는 더는 그 영역에 접근하지 않아 메모리 공간이 낭비된다. 이렇게 낭비된 공간을 가비지라고 하고, 이러한 가비지들이 쌓이면 프로그램에 심각한 오류를 발생시킨다. 그 가비지를 없애주는 역할을 하는 것이 가비지 컬렉터(Garbage Collector)이다. 하지만 C 언어계열에서는 이 가비지 컬렉터가 없기 때문에 개발자가 직접 구현해주어야 한다.

  • 복잡성

C++ 언어는 C 언어의 확장판이다. C언어와 다른 점은 템플릿, 예외, 네임스페이스, 자동 메모리 관리 등 C 언어에서 기본적으로 제공하지 않는 기능이 추가되었다는 점이다. 하지만 이러한 기능들을 많이 사용하는 것은 소스 코드의 복잡성을 높이고, 결과를 통제하기 어렵게 만든다. 일부 기업들은 C++ 언어의 복잡성 때문에 C 언어를 고수하기도 한다.

활용

비트코인(bitcoin)

비트코인

2009년 사토시 나카모토(Satoshi Nakamoto)라는 가명을 사용하는 프로그래머는 C++ 프로그래밍 언어를 사용하여, 블록체인 기반의 암호화폐비트코인을 개발했다. 그는 2009년 1월 10일 C++ 언어로 작성한 비트코인 소스 코드를 공개했다. 비트코인 소스 코드는 이메일로 무료 오픈소스 방식으로 배포되었다.[1]

  1. 비트코인 압축 파일("bitcoin-0.1.0.rar")을 개인 PC에 다운로드한다.
  2. 압축 파일을 풀면, 윈도우 운영체제에서 작동하는 "BITCOIN.EXE" 파일이 나온다.
  3. 위 파일을 실행하면, 자동으로 다른 노드에 연결된다.

각주

같이 보기

틀:검토필요