HOWTO · C++

Dev C++에서 C++ 11 코드 컴파일 및 실행

이 문서는 Dev C++ 컴파일러를 사용하여 C++ 11 코드를 컴파일하고 실행하기 위한 간략한 가이드입니다.

이 페이지의 내용

이 간략한 가이드는 Dev C++로 C++ 11 코드를 컴파일하는 방법에 관한 것입니다.

C++ 11 버전

C++ 11은 C++ 3 이후의 C++ 새 버전입니다. 국제 표준 기구(ISO)의 승인을 거쳐 2011년 8월 12일에 출시되었습니다.

이 새 버전의 C++는 C++의 새로운 기능 세트 전체를 추가합니다. 그러나 새로운 기능의 사용은 사용자의 선택입니다.

그럼에도 불구하고 일부 기능은 매우 유용하며 C++ 프로그래밍을 더욱 흥미롭게 만듭니다.

Bjarne Stroustrup이 특징으로 하는 C++ 11의 주요 목표는 다음과 같습니다.

  1. C++ 강점을 높입니다. C++를 확장하여 무거운 GUI 응용 프로그램(C++의 약한 영역)을 구축할 수 있는 몇 가지 새로운 기능을 추가하는 대신 이미 수행하고 있는 기능을 개선하는 데 초점을 맞춥니다.
  2. C++를 더 쉽게 배우고 사용할 수 있도록 합니다. C++을 보다 일관되고 쉽게 만드는 기능을 제공합니다.

C++ 11 기능을 통합한 위원회는 다음과 같은 몇 가지 주요 원칙을 따랐습니다.

  1. 이전 버전에서 작동하는 프로그램이 일반적으로 C++ 11에서 작동하도록 C++ 11이 이전 버전의 C++와 호환되도록 합니다.
  2. 핵심 언어에 더 많은 확장을 추가하는 대신 표준 라이브러리에 변경 사항 번들을 넣습니다.
  3. 추상화 메커니즘(클래스, 템플릿) 개선에 중점을 두었습니다.
  4. 새로운 항목과 C++ 프로그래밍 전문가를 위한 기능을 추가하여 모든 개발자 그룹에 약간의 기능을 제공했습니다.
  5. 의도하지 않은 버그 및 오류를 방지하기 위해 언어의 유형 안전성을 높였습니다.
  6. C++의 성능을 개선하여 하드웨어와 직접 연동할 수 있도록 했습니다.

C++ 11의 기능

C++ 11은 C++ 03에서 크게 마이그레이션된 것은 아니지만 몇 가지 주요 새 기능이 추가되었습니다. 여기에서 그들 중 일부에 대해 논의할 것입니다.

  1. 유형 추론 기능: C++ 11에서는 이니셜라이저 값으로 정의된 변수의 데이터 유형을 자동으로 추론하기 위한 새 키워드 auto를 도입했습니다.
auto num1 = 5;
int num2 = 10;

num1을 정수로 초기화했으므로 num1의 유형은 int가 됩니다. 마찬가지로 auto는 다른 변수를 이니셜라이저로 사용하여 변수 유형을 추론할 수도 있습니다.

예:

int a = 5;
auto b = a;

이 코드에서 ba 값으로 초기화되며 유형은 aint로 설정됩니다. 값으로 초기화되지 않은 변수는 decltype을 사용하여 설정할 수도 있습니다.

예:

int var1 = 0;
decltype(var2) var1;

어떤 값으로도 var2를 초기화하지 않았지만 해당 데이터 유형은 var1과 동일합니다. 유형 추론은 C++ 11의 강력한 기능이지만 유형을 지정할 수 없거나 유형 추론 메커니즘을 사용하면 코드의 효율성이나 가독성이 향상되는 경우에만 권장됩니다.

  1. 변수의 균일한 초기화: C++ 11에서는 중괄호 {}를 사용하여 변수를 초기화하는 새로운 메서드 pf를 도입했습니다. 이전 초기화 방법은 C++ 11에서 계속 작동합니다.

유형 식별자 {initial_value};

예:

int x{0};  // This will initialize `x` with 0.
  1. For-each 루프: for 루프가 배열 요소를 통해 반복되는 것을 보았지만 증분 또는 조건에 오류가 발생할 가능성이 있습니다. 이 어려움을 완화하기 위해 배열을 반복하기 위해 for-each 루프가 도입되었습니다.

통사론:

for (element_declaration : array) statement;

예:

#include <iostream>
using namespace std;

int main() {
  int evens[]{0, 2, 4, 6, 8, 10, 12, 14};
  for (int num : evens) {
    cout << num << ' ';
  }
  cout << '\n';
  return 0;
}

출력:

0 2 4 6 8 10 12 14

더 쉽게 이 루프에서 auto 유형을 사용할 수도 있습니다.

예:

#include <iostream>
using namespace std;

int main() {
  int evens[]{0, 2, 4, 6, 8, 10, 12, 14};
  for (auto num : evens) {
    cout << num << ' ';
  }
  cout << '\n';
  return 0;
}

유형 추론 메커니즘을 사용하는 이상적인 경우입니다. 배열 유형이 무엇이든 반복자 변수에 대해 설정됩니다.

새로운 기능 번들이 C++ 11에 도입되었지만 여기에서 가장 일반적으로 사용되는 기능 중 일부에 대해 논의했습니다.

마찬가지로 표준 C++ 라이브러리에 다음과 같은 많은 새 클래스가 추가되었습니다.

  • 멀티스레딩 및 스레드 로컬 스토리지
  • 해시 테이블
  • 난수 생성
  • 참조 래퍼
  • 정규 표현식
  • std::tuple
  • std::unique_ptr

Dev C++를 설치하여 C++ 11 코드 컴파일 및 실행

Dev C++ 컴파일러에는 C++ 프로그램 작성, 디버깅 및 실행을 위한 고유한 통합 개발 환경(IDE)이 있습니다. 프로그램 작성 및 편집을 위한 효율적인 텍스트 편집기와 C++ 컴파일러가 패키지로 제공됩니다.

이 텍스트 편집기에는 프로그램을 작성하고 수정하고 디스크 저장 공간에 저장할 수 있는 기능이 제한되어 있습니다. Dev C++는 C++뿐만 아니라 C를 위한 편집기와 컴파일러를 제공합니다.

Dev C++를 다운로드하여 설치하면 다음과 같은 창이 표시됩니다.

설치 후 창

이제 아래 이미지와 같이 파일->새로 만들기->프로젝트로 이동하여 새 프로젝트를 만들 수 있습니다.

새 프로젝트 만들기

새 창에서 콘솔 애플리케이션을 선택합니다. 이렇게 하면 C++ 프로그래밍을 위한 소스 파일을 추가할 수 있는 새 프로젝트가 생성됩니다.

단일 소스 파일인 main.cpp가 기본적으로 생성됩니다. C++ 11의 경우 먼저 컴파일러를 구성해야 합니다. 이를 위해 도구->컴파일러 옵션으로 이동합니다.

컴파일러 구성 - 컴파일러 옵션

설정 탭으로 이동한 다음 코드 생성 탭으로 이동합니다. 언어 표준 메뉴에서 ISO C++11을 선택합니다.

컴파일러 구성 - 설정 및 코드 생성

이제 Dev C++에서 C++ 11 코드를 컴파일할 준비가 되었습니다. 이제 이미 생성된 기본 파일에 코드를 작성하고 F11 키를 눌러 코드를 컴파일할 수 있습니다. 그러면 코드가 컴파일되고 실행됩니다.

따라서 우리는 Dev C++가 C++ 11의 최신 기능을 사용할 수 있는 사용하기 쉬운 컴파일러임을 확인했습니다. Dev C++를 사용하여 C++ 11 코드를 빠르게 컴파일하고 실행할 수 있습니다.

마지막 단계에서 C++ 11에 대한 옵션을 찾지 못한 경우 최신 버전의 Dev C++를 다운로드했는지 확인하십시오.