검수요청.png검수요청.png

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

위키원
이동: 둘러보기, 검색
5번째 줄: 5번째 줄:
 
== 특징 ==
 
== 특징 ==
 
=== 장점 ===
 
=== 장점 ===
* 간결성
+
* '''간결성''' : 예약어가 적고 제공하는 연산자가 다양하기 때문에 짧은 명령으로 많은 작업을 할 수 있다.
예약어가 적고 제공하는 연산자가 다양하기 때문에 짧은 명령으로 많은 작업을 할 수 있다.
+
 
* 효율성
+
* '''효율성''' : C++ 언어가 기능상 C 언어보다 우위에 있지만, C 언어보다 복잡하고 생성된 프로그램 자체가 크고 느린 탓에 소규모 프로젝트나 성능이 중요시되는 분야에는 적합하지 않다.
C++ 언어가 기능상 C 언어보다 우위에 있지만, C 언어보다 복잡하고 생성된 프로그램 자체가 크고 느린 탓에 소규모 프로젝트나 성능이 중요시되는 분야에는 적합하지 않다.
+
 
* 이식성
+
* '''이식성''' : 대부분의 플랫폼에서 C++ 언어를 사용할 수 있으므로 재컴파일만 하면, 다른 운영체제에서 사용이 가능하다.
대부분의 플랫폼에서 C++ 언어를 사용할 수 있으므로 재컴파일만 하면, 다른 운영체제에서 사용이 가능하다.
+
 
* 범용성
+
* '''범용성''' : 응용프로그램을 개발할 수 있는 모든 분야에서 활용할 수 있다.  
응용프로그램을 개발할 수 있는 모든 분야에서 활용할 수 있다.  
+
 
 
=== 단점 ===
 
=== 단점 ===
*[[가비지 컬렉션]](Garbage Collection)
+
* '''[[가비지 컬렉션]]'''(Garbage Collection) : C++ 언어에서는 메모리 영역을 사용한 뒤에는 더는 그 영역에 접근하지 않아 메모리 공간이 낭비된다. 이렇게 낭비된 공간을 '''가비지'''라고 하고, 이러한 가비지들이 쌓이면 프로그램에 심각한 오류를 발생시킨다. 그 가비지를 없애주는 역할을 하는 것이 '''가비지 컬렉터'''(Garbage Collector)이다. 하지만 C 언어계열에서는 이 가비지 컬렉터가 없기 때문에 개발자가 직접 구현해주어야 한다.
C++ 언어에서는 메모리 영역을 사용한 뒤에는 더는 그 영역에 접근하지 않아 메모리 공간이 낭비된다. 이렇게 낭비된 공간을 '''가비지'''라고 하고, 이러한 가비지들이 쌓이면 프로그램에 심각한 오류를 발생시킨다. 그 가비지를 없애주는 역할을 하는 것이 '''가비지 컬렉터'''(Garbage Collector)이다. 하지만 C 언어계열에서는 이 가비지 컬렉터가 없기 때문에 개발자가 직접 구현해주어야 한다.
 
  
*복잡성
+
* '''복잡성''' : C++ 언어는 C 언어의 '''확장판'''이다. C언어와 다른 점은 템플릿, 예외, [[네임스페이스]], 자동 메모리 관리 등 C 언어에서 기본적으로 제공하지 않는 기능이 추가되었다는 점이다. 하지만 이러한 기능들을 많이 사용하는 것은 소스 코드의 복잡성을 높이고, 결과를 통제하기 어렵게 만든다. 일부 기업들은 C++ 언어의 복잡성 때문에 C 언어를 고수하기도 한다.
C++ 언어는 C 언어의 '''확장판'''이다. C언어와 다른 점은 템플릿, 예외, [[네임스페이스]], 자동 메모리 관리 등 C 언어에서 기본적으로 제공하지 않는 기능이 추가되었다는 점이다. 하지만 이러한 기능들을 많이 사용하는 것은 소스 코드의 복잡성을 높이고, 결과를 통제하기 어렵게 만든다. 일부 기업들은 C++ 언어의 복잡성 때문에 C 언어를 고수하기도 한다.
 
  
 
== 활용 ==
 
== 활용 ==

2019년 6월 25일 (화) 15:37 판

C++(C plus plus)은 1983년 덴마크 출신의 비야네 스트롭스트룹(Bjarne Stroustrup)이 미국 AT&T벨 연구소 시절에 기존의 C 언어기능을 확장하여 개발한 프로그래밍 언어이다.

개요

C언어의 문법은 그대로 유지하고, 객체 지향 프로그래밍(OOP)의 개념과 템플릿 개념을 도입했다. 씨 플러스 플러스 또는 간략히 씨뿔뿔이라고 읽는다. C 언어에서 D 언어가 아닌 C++ 언어가 된 이유는 C 언어를 바탕으로 필요한 부분만 향상됐기 때문이다.

특징

장점

  • 간결성 : 예약어가 적고 제공하는 연산자가 다양하기 때문에 짧은 명령으로 많은 작업을 할 수 있다.
  • 효율성 : C++ 언어가 기능상 C 언어보다 우위에 있지만, C 언어보다 복잡하고 생성된 프로그램 자체가 크고 느린 탓에 소규모 프로젝트나 성능이 중요시되는 분야에는 적합하지 않다.
  • 이식성 : 대부분의 플랫폼에서 C++ 언어를 사용할 수 있으므로 재컴파일만 하면, 다른 운영체제에서 사용이 가능하다.
  • 범용성 : 응용프로그램을 개발할 수 있는 모든 분야에서 활용할 수 있다.

단점

  • 가비지 컬렉션(Garbage Collection) : 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. 위 파일을 실행하면, 자동으로 다른 노드에 연결된다.

각주

같이 보기


  검수요청.png검수요청.png 이 C++ 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.