C++/News

프로그래밍 언어 C++11 이란? (2011년)

yum-yum_IT 2023. 12. 22.
반응형

안녕하세요.

오늘의 소재는 프로그래밍 언어 C++11을 소개해 드리려고 합니다.

1. C++ 11이란?

 -> C++ 프로그래밍 언어의 표준 버전으로, 2011년에 발표되었습니다. 
 -> 이전의 C++03 표준에 비해 많은 새로운 기능과 개선 사항을 포함하고 있으며, C++의 현대적 사용을 위한 기초를 마련했습니다. 

 

2. C++ 11 장점(Code 포함)은 무엇이 있을까?

1. 자동 타입 추론 : `auto` 키워드를 사용하여 컴파일러가 자동으로 변수의 타입을 추론하게 할 수 있습니다.

자동 타입 추론 (auto)

 

2. 범위 기반 for 루프 : 컨테이너의 모든 요소를 더욱 쉽게 순회할 수 있습니다.

범위 기반 for 루프 (Range-based for loop)


3. 람다 표현식 : 익명 함수를 간결하게 작성할 수 있어서 코드가 더욱 간결하고 이해하기 쉬워집니다.

람다 표현식 (Lambda expressions)


4. 스마트 포인터 : `std::unique_ptr`, `std::shared_ptr` 등의 스마트 포인터가 메모리 관리를 자동화하여 메모리 누수를 줄여줍니다.

스마트 포인터 (Smart pointers)


5. 동시성 지원 강화 : 새로운 메모리 모델과 동시성을 지원하는 라이브러리가 추가되어 멀티쓰레딩 프로그래밍이 향상되었습니다.

동시성 지원 강화 (Concurrency support)


6. 이동 시맨틱 : 이동 생성자와 이동 할당 연산자를 통해 객체의 리소스를 복사하는 대신 이동시켜 성능을 개선할 수 있습니다.

이동 시맨틱 (Move semantics)


7. 유니코드 지원 : UTF-8 및 UTF-16 문자열 리터럴을 직접 지원합니다.

유니코드 문자열 지원 (Unicode string literals)

3. C++ 11 단점은 무엇이 있을까?

1. 복잡성 : 새로운 기능들이 많이 추가되면서 언어 자체의 복잡성이 증가했습니다.
2. 학습 곡선 : 새로운 기능들을 익히고 올바르게 사용하기 위해서는 상당한 학습과 실습이 필요합니다.
3. 구현 상의 차이 : 모든 컴파일러가 C++11 표준을 100% 완벽하게 지원하지는 않아, 특정 기능들이 예상대로 동작하지 않을 수 있습니다.
4. 레거시 코드와의 호환성 : 기존의 C++ 코드와 새로운 표준 사이에 호환성 문제가 발생할 수 있습니다.

 

C++11 버전에 대해서 설명을 해보았습니다.

감사합니다.

반응형

댓글