맨위로가기

C++17

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

C++17은 2017년 12월에 출시된 C++ 프로그래밍 언어의 표준 개정판이다. C++17은 C++11과 C++14에 이어 3년 주기로 릴리스되는 표준의 일환으로, 트라이그래프, 일부 더 이상 사용되지 않는 기능, `register` 키워드 등이 제거되었다. 새로운 기능으로는 언어적 측면에서 `static_assert` 개선, 템플릿 및 attribute 추가, UTF-8 문자 리터럴, 16진수 부동소수점 리터럴 지원 등이 있으며, 라이브러리 측면에서는 ``, ``, ``, ``, `` 등의 헤더가 추가되고, 병렬 STL 알고리즘과 다양한 유틸리티가 제공된다. GCC, Clang, Visual Studio 등 주요 컴파일러들이 C++17을 지원한다.

더 읽어볼만한 페이지

  • 프로그래밍 언어 표준 - ISO/IEC JTC 1/SC 22
    ISO/IEC JTC 1/SC 22는 프로그래밍 언어, 환경 및 시스템 소프트웨어 인터페이스 분야의 표준화를 담당하는 ISO/IEC JTC 1의 하위 위원회이며, 다양한 프로그래밍 언어와 시스템 소프트웨어 인터페이스의 표준화를 목표로 1985년에 설립되었다.
  • 프로그래밍 언어 표준 - C99
    C99는 1999년 ISO/IEC 9899:1999로 출판된 C 프로그래밍 언어의 표준으로, 인라인 함수, 가변 길이 배열, `//` 주석 등 새로운 기능들을 추가하고 IEEE 부동소수점 자료 지원을 개선했으며 C90과 하위 호환성을 가지면서 C++와의 호환성을 고려했다.
  • C++ - 헤더 파일
    헤더 파일은 프로그래밍 언어에서 코드 재사용성, 모듈화, 컴파일 시간 단축에 기여하며 함수 프로토타입, 변수 선언 등을 포함하고 `#include` 지시어로 소스 코드에 포함되어 사용되는 파일이다.
  • C++ - 소멸자 (컴퓨터 프로그래밍)
    소멸자는 객체가 메모리에서 제거되기 직전에 호출되는 멤버 함수로, 객체 자원 해제 및 정리 작업을 수행하며, C++ 등 여러 언어에서 구현되고 메모리 누수 방지에 기여한다.
  • 프로그래밍 언어 - 다중 패러다임 프로그래밍 언어
    다중 패러다임 프로그래밍 언어는 둘 이상의 프로그래밍 패러다임을 지원하며, 다양한 프로그래밍 스타일을 혼합하여 사용할 수 있도록 설계되었다.
  • 프로그래밍 언어 - 모조 (프로그래밍 언어)
    모조는 모듈러사에서 개발한 파이썬과 유사한 구문의 고성능 프로그래밍 언어로, AI 애플리케이션 개발에 초점을 맞추고 러스트의 영향을 받은 메모리 안전성을 제공하며 향후 오픈 소스로 전환될 예정이다.
C++17
C++17
표준ISO/IEC 14882:2017
발표일2017년 12월 15일
이전 표준C++14
후속 표준C++20
다른 이름C++1z

2. 역사

C++ 표준 위원회가 표준 출시 주기를 3년으로 고정하기 전까지 C++17의 출시일은 불명확했다. 그동안 C++17 개정판은 C++1z으로 불리기도 했는데, 이는 C++11이 C++0x나 C++1x로 불렸었고 C++14가 C++1y로 불렸던 것과 같은 이치이다. C++17의 사양은 2017년 3월에 Draft International Standard (DIS, 초안 국제 표준)까지 도달했다.[82][83] 이 DIS는 약간의 수정 요구만을 동반한 채 만장일치로 승인되었으며,[84] 최종 표준이 2017년 12월에 출시되었다.[85] C++ 표준 템플릿 라이브러리에는 약간의 추가 사항만 있는데, `` 헤더의 몇몇 알고리즘들에 명시적 병렬 처리 기능이 생겼으며, 구문 개선이 이루어졌다.

2. 1. 다음 표준

C++20[86][87][88]

3. 제거된 기능

트라이그래프가 제거되었다.[44][45][89] std::auto_ptr, std::random_shuffle 및 이전 함수 어댑터를 포함하여 일부 더 이상 사용되지 않는 형식과 함수가 표준 라이브러리에서 제거되었다.[8][46][90][57][58] 이는 C++11에서 std::unique_ptr, std::shuffle, std::bind 및 람다와 같은 개선된 기능으로 대체되었다. 스토리지 클래스 지정자로 키워드를 사용하는 것이 제거되었다.[47][59] 이 키워드는 여전히 예약되어 있지만 현재는 사용되지 않는다.

4. 새로운 기능

C++17에는 다음과 같은 많은 새로운 기능이 도입되었다.


  • `static_assert`의 진단 메시지를 생략할 수 있게 되었다.[60]
  • 템플릿의 템플릿 파라미터에 `class` 대신 `typename`을 사용할 수 있게 되었다.[61]
  • 초기화 목록으로부터의 타입 추론 (`auto`) 규칙이 신설되었다.[62][57]
  • 중첩된 네임스페이스 정의를 `namespace X::Y { … }`와 같이 쓸 수 있게 되었다.[57][63]
  • 네임스페이스나 열거형에 속성을 쓸 수 있게 되었다.[64][65]
  • 새로운 `fallthrough`, `maybe_unused`, `nodiscard` 속성이 표준에 추가되었다.[66]
  • UTF-8 (`u8`) 문자 리터럴을 사용할 수 있게 되었다.[64][67][68]
  • 16진 부동 소수점 리터럴을 사용할 수 있게 되었다.[69][70]
  • 모든 비타입 템플릿 인수를 상수 평가할 수 있게 되었다.[64][71]
  • 가변 길이 인수 템플릿에서의 축약식을 사용할 수 있게 되었다.[64][72]
  • `if constexpr(expression)` 형식의 컴파일 시점의 정적 `if` 문을 사용할 수 있게 되었다.[73]
  • 구조화된 바인딩 선언을 사용할 수 있게 되었다. (예: `auto [a, b] = getTwoReturnValues();`)[74]
  • `if` 문 및 `switch` 문에서 초기화자를 사용할 수 있게 되었다.[75]
  • `T`형(최상위 cv 한정자를 무시)의 순수 rvalue 식으로부터 `T`형 객체를 복사 초기화 및 직접 초기화할 때, 순수 rvalue 식으로부터 복사 생성자나 무브 생성자가 호출되지 않게 되었다. 자세한 내용은 복사 생략을 참조.
  • over-aligned 한 메모리 할당에 관한 확장이 이루어졌다.[76]
  • 클래스 템플릿의 실인수 추론 (Class Template Argument Deduction: CTAD)이 가능해졌다. (예: `std::pair(5.0, false)` 와 같이 사용가능).[77][78]
  • 인라인 변수를 통해, 단일 정의 규칙에 반하지 않고 헤더 파일에서 변수를 정의할 수 있게 되었다. 효과는 인라인 함수와 동일하다.
  • `__has_include`로 헤더가 이용 가능한지를 프리프로세서 지시어에서 확인할 수 있게 되었다.[79]
  • `__cplusplus`의 값은 `201703L`가 되었다.[80]
  • 예외 지정이 함수의 타입의 일부가 되었다.[81]
  • 다음과 같은 헤더가 추가되었다.
  • `` — 모든 형식을 보관할 수 있는 `std::any` 클래스
  • `` — 디렉터리 및 파일 조작
  • `` — 유효하거나 유효하지 않은 값을 보관하는 `std::optional` 클래스
  • `` — 읽기 전용으로 소유권을 가지지 않고 문자 시퀀스를 참조하는 `std::basic_string_view` 클래스
  • `` — 형식 안전한 공용체 (`union`) `std::variant` 클래스

4. 1. 언어


  • `static_assert`에서 텍스트 메시지를 선택적으로 제공할 수 있게 되었다.[91]
  • 템플릿 매개변수에서 `class` 대신 `typename`을 사용할 수 있다.[92]
  • braced-init-list의 `auto` 추론에 대한 새로운 규칙이 생겼다.[93][94]
  • 중첩된 네임스페이스를 정의할 때 `namespace X { namespace Y { … } }` 대신 `namespace X::Y { … }`와 같이 사용할 수 있다.[95]
  • 네임스페이스열거형에 attribute를 사용할 수 있다.[96]
  • 새로운 표준 attribute로 `fallthrough`, `maybe_unused`, `nodiscard`가 추가되었다.[97]
  • UTF-8 인코딩의 (u8) 문자 리터럴이 추가되었다. (UTF-8 문자열 리터럴은 C++11부터 있었으나, 문자 타입의 리터럴이 추가된 것이다. 그러나 1바이트에 한정되어 ASCII만 저장할 수 있다.)[98]
  • 16진수 부동소수점 리터럴을 사용할 수 있다.[99][100]
  • 모든 non-type 템플릿 인자에 대한 상수 평가가 이루어진다.[101]
  • 가변 템플릿을 위한 fold expressions을 사용할 수 있다.[102]
  • 컴파일 타임 정적 `if`문 ( `if constexpr(expression)` )이 추가되었다.[103]
  • 구조적 바인딩 선언 (`auto [a, b] = getTwoReturnValues();`)을 사용할 수 있다.[104]
  • `if`와 `switch`문에서 초기화를 할 수 있다.[105]
  • `T` 타입(최고 레벨의 cv-qualifier을 무시)의 prvalue 표현식을 이용한 `T` 타입의 복사 초기화 및 직접 초기화는 prvalue의 복사 생성자나 이동 생성자를 사용하지 않는다. 복사 생략 참고.
  • over-aligned 메모리 할당에 대한 확장 기능이 추가되었다.[106]
  • 생성자의 템플릿 추론이 가능하다. (`std::pair(5.0, false)` 대신 `std::pair(5.0, false)` 사용 가능).
  • 인라인 변수를 통해, One Definition Rule을 어기지 않고 헤더 파일에 변수 정의가 가능하다. 규칙은 인라인 함수와 같다.
  • `__has_include`를 통해, 전처리기에 의해 헤더가 확인될 수 있게 해준다.[107]
  • 키워드 `register`는 이전에 사용 중지 권고되었으며, 이제 사용되지 않는다.[108]
  • `__cplusplus`의 값이 `201703L`로 변경되었다.[109]
  • 예외 사양이 함수 타입의 일부가 되었다.[26]
  • 람다 표현식이 값으로 "*this"를 캡처할 수 있게 되었다.[27]

4. 2. 라이브러리


  • std::uncaught_exceptions영어가 추가되어 예외 처리에서 `std::uncaught_exception`를 대체함[110][111][31][32]
  • "연속적 반복기" 정의[112][34][36]
  • boost::filesystem영어 기반의 파일 시스템 라이브러리[113][37]
  • 병렬 버전의 STL 알고리즘[114][38]
  • Library Fundamentals TS I의 대부분 포함[28][29]:
  • std::string_view영어, 문자 시퀀스 또는 문자열 조각에 대한 읽기 전용 비 소유 참조[30]
  • std::optional영어, 선택적 객체를 표현하기 위한 것으로, 특정 알고리즘에서 항상 반환되지 않을 수 있는 데이터 타입이며, 비 반환 지원
  • std::any영어, 모든 타입의 단일 값을 저장하기 위한 것
  • std::map영어과 std::unordered_map영어 키-값 연관 데이터 구조를 위한 새로운 삽입 함수 try_emplace영어와 insert_or_assign영어[33][34]
  • 통일된 컨테이너 접근: std::size영어, std::empty영어 및 std::data영어[34][35]
  • 타원 적분베셀 함수를 포함한 추가적인 수학적 특수 함수[39]
  • std::variant영어, 태그된 유니온 컨테이너[40]
  • std::byte영어, char바이트의 데이터를 문자 대신 바이트로 모델링하려는 데이터 타입에 대한 바이트로 대체 가능[41]
  • 논리 연산자 트레이트: std::conjunction영어, std::disjunction영어 및 std::negation영어[42]
  • 다형성 메모리 리소스를 위한 `` 헤더[43]
  • 다음 헤더가 추가되었다.
  • `` — 모든 형식을 보관할 수 있는 `std::any` 클래스
  • `` — 디렉터리 및 파일 조작
  • `` — 유효하거나 유효하지 않은 값을 보관하는 `std::optional` 클래스
  • `` — 읽기 전용으로 소유권을 가지지 않고 문자 시퀀스를 참조하는 `std::basic_string_view` 클래스
  • `` — 형식 안전한 공용체 (union영어) `std::variant` 클래스

5. 컴파일러 지원

GCC 8은 완전하면서도 시험적으로 C++17을 지원한다.[115][116][48] Clang 5 이상 버전은 모든 C++17 기능을 지원한다.[117][49] Visual Studio 2017 15.7 (MSVC19.14)은 거의 전부를 지원하며,[118][119] 15.8(MSVC 19.15) 이상 버전은 모든 C++17 언어 기능을 지원한다.[50][51]

6. 라이브러리 지원

libstdc++는 버전 9.1부터 C++17에 대한 완전한 지원을 제공한다(병렬 처리 TS가 없고 C11 대신 C99를 참조하는 8.1).[52] libc++는 버전 9부터 C++17에 대한 부분적인 지원을 제공하며, 나머지는 "진행 중"이다.[53] Visual Studio 2017 15.8(MSVC 19.15) 표준 라이브러리 및 이후 버전은 "기본 문자열 변환"을 제외한 모든 C++17 라이브러리 기능을 지원하며 C11 대신 C99를 참조한다. "기본 문자열 변환"은 Visual Studio 2019 16.4에 추가되었다.[54]

참조

[1] 웹사이트 N4661 Editors' Report -- Programming Languages -- C++ http://www.open-std.[...] 2017-03-21
[2] 웹사이트 ISO/IEC DIS 14882: Programming Languages — C++ http://www.open-std.[...]
[3] 웹사이트 C++17 is formally approved https://herbsutter.c[...] 2017-09-06
[4] 웹사이트 ISO/IEC 14882:2017 https://www.iso.org/[...] 2017-12-03
[5] 웹사이트 N3928: Extending static_assert, v2 (Walter E. Brown) http://www.open-std.[...] 2015-04-03
[6] 웹사이트 N4051: Allow typename in a template template parameter (Richard Smith) http://www.open-std.[...] 2015-04-03
[7] 웹사이트 N3922: New Rules for auto deduction from braced-init-list (James Dennett) http://www.open-std.[...] 2014-11-28
[8] 웹사이트 Updates to my trip report http://isocpp.org/bl[...] 2014-11-28
[9] 웹사이트 N4230: Nested namespace definition (Robert Kawulak, Andrew Tomazos) http://www.open-std.[...] 2014-11-28
[10] 웹사이트 N4266: Attributes for namespaces and enumerators (Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[11] 웹사이트 N4640: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-09
[12] 웹사이트 N4267: Adding u8 character literals (Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[13] 웹사이트 Hexadecimal floating literals for C++ http://wg21.link/p02[...] 2017-07-16
[14] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[15] 웹사이트 Declaring non-type template parameters with auto http://www.open-std.[...] 2016-06-23
[16] 웹사이트 N4268: Allow constant evaluation for all non-type template arguments (Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[17] 웹사이트 N4295: Folding expressions (Andrew Sutton, Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[18] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[19] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[20] 웹사이트 Selection statements with initializer http://www.open-std.[...] 2018-10-09
[21] 웹사이트 Dynamic memory allocation for over-aligned data http://www.open-std.[...] 2017-03-13
[22] 웹사이트 Class template argument deduction https://en.cpprefere[...] 2019-01-30
[23] 웹사이트 CppCon 2018: Timur Doumler "Class template argument deduction in C++17" https://www.youtube.[...] 2019-01-30
[24] 웹사이트 N4640: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-09
[25] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[26] 웹사이트 P0012R1: Make exception specifications be part of the type system, version 5 http://www.open-std.[...] 2018-12-17
[27] 웹사이트 P0018R3: Lambda Capture of *this by Value as [=,*this], version 3 http://www.open-std.[...] 2021-06-21
[28] 웹사이트 Adopt Library Fundamentals V1 TS Components for C++17 (R1) https://isocpp.org/f[...] 2016-03-23
[29] 웹사이트 Current Status https://isocpp.org/s[...]
[30] 웹사이트 std::basic_string_view - cppreference.com http://en.cppreferen[...] 2016-06-23
[31] 웹사이트 N4259: Wording for std::uncaught_exceptions (Herb Sutter) http://isocpp.org/fi[...] 2014-11-15
[32] 웹사이트 New core language papers adopted for C++17 https://isocpp.org/b[...] 2014-11-15
[33] 웹사이트 N4279: Improved insertion interface for unique-key maps (Thomas Köppe) https://isocpp.org/f[...] 2014-11-15
[34] 웹사이트 New standard library papers adopted for C++17 https://isocpp.org/b[...] 2014-11-15
[35] 웹사이트 N4280: Non-member size() and more (Riccardo Marcangelo) https://isocpp.org/f[...] 2014-11-15
[36] 웹사이트 N4284: Contiguous Iterators (Jens Maurer) https://isocpp.org/f[...] 2014-11-15
[37] 웹사이트 Filesystem Library Proposal (Beman Dawes) http://www.open-std.[...] 2015-12-12
[38] 웹사이트 The Parallelism TS Should be Standardized https://isocpp.org/f[...] 2016-03-23
[39] 웹사이트 Mathematical Special Functions for C++17, v5 https://isocpp.org/f[...] 2016-03-23
[40] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[41] 웹사이트 A byte type definition http://open-std.org/[...] 2017-03-25
[42] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[43] 웹사이트 PMR (Polymorphic Memory Resources) fully described -- Nico Josuttis https://isocpp.org/b[...] 2020-11-16
[44] 웹사이트 N3981: Removing trigraphs??! (Richard Smith) http://www.open-std.[...] Richard Smith 2015-04-03
[45] 간행물 IBM comment on preparing for a Trigraph-adverse future in C++17 http://www.open-std.[...] IBM 2018-09-11
[46] 웹사이트 N4190: Removing auto_ptr, random_shuffle(), And Old <functional> Stuff (Stephan T. Lavavej) http://www.open-std.[...] 2014-11-28
[47] 웹사이트 C++ Keywords: register https://en.cpprefere[...] 2018-09-03
[48] 웹사이트 C++ Standards Support in GCC - GNU Project - Free Software Foundation (FSF) https://gcc.gnu.org/[...] 2018-04-03
[49] 웹사이트 Clang - C++17, C++14, C++11 and C++98 Status https://clang.llvm.o[...] 2018-06-26
[50] 웹사이트 Visual C++ Language Conformance https://docs.microso[...] 2018-06-19
[51] 웹사이트 Announcing: MSVC Conforms to the C++ Standard https://blogs.msdn.m[...] null 2018-05-08
[52] 웹사이트 Chapter 1. Status https://gcc.gnu.org/[...] 2018-06-19
[53] 웹사이트 libc++ C++17 Status http://libcxx.llvm.o[...] 2019-05-24
[54] 웹사이트 Announcing: MSVC Conforms to the C++ Standard https://devblogs.mic[...] 2019-05-24
[55] 웹사이트 N3981: Removing trigraphs??! (Richard Smith) http://www.open-std.[...] Richard Smith 2015-04-03
[56] 문서 IBM comment on preparing for a Trigraph-adverse future in C++17 http://www.open-std.[...] IBM
[57] 웹사이트 Updates to my trip report http://isocpp.org/bl[...] 2014-11-28
[58] 웹사이트 N4190: Removing auto_ptr, random_shuffle(), And Old <functional> Stuff (Stephan T. Lavavej) http://www.open-std.[...] 2014-11-28
[59] 웹사이트 C++ Keywords: register https://en.cpprefere[...] 2018-09-03
[60] 웹사이트 N3928: Extending static_assert, v2 (Walter E. Brown) http://www.open-std.[...] 2015-04-03
[61] 웹사이트 N4051: Allow typename in a template template parameter (Richard Smith) http://www.open-std.[...] 2015-04-03
[62] 웹사이트 N3922: New Rules for auto deduction from braced-init-list (James Dennett) http://www.open-std.[...] 2014-11-28
[63] 웹사이트 N4230: Nested namespace definition (Robert Kawulak, Andrew Tomazos) http://www.open-std.[...] 2014-11-28
[64] 웹사이트 New core language papers adopted for C++17 https://isocpp.org/b[...] 2014-11-15
[65] 웹사이트 N4266: Attributes for namespaces and enumerators (Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[66] 웹사이트 N4640: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-09
[67] 웹사이트 N4267: Adding u8 character literals (Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[68] 문서 UTF-8 文字列リテラルは [[C++11#新たな文字列リテラル|C++11]] から存在する。C++17 では一貫性確保のために対応する文字リテラルが追加されるが、その型はchar型であり、またUTF-8文字リテラルが扱えるコードポイントの範囲は、C0制御文字とラテン基本文字 (C0 Controls and Basic Latin Unicode block) すなわち [[ASCII]] に限定されている。なお、C++標準における従来の文字リテラルは、[[文字符号化方式]]がASCIIであることが保証されないため、UTF-8文字リテラルはASCIIを保証するという移植性の観点からも有用である。
[69] 웹사이트 Hexadecimal floating literals for C++ http://wg21.link/p02[...] 2017-07-16
[70] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-07-16
[71] 웹사이트 N4268: Allow constant evaluation for all non-type template arguments (Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[72] 웹사이트 N4295: Folding expressions (Andrew Sutton, Richard Smith) http://isocpp.org/fi[...] 2014-11-15
[73] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[74] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[75] 웹사이트 Selection statements with initializer http://www.open-std.[...] 2018-10-09
[76] 웹사이트 Dynamic memory allocation for over-aligned data http://www.open-std.[...] 2017-03-14
[77] 웹사이트 Class template argument deduction https://en.cpprefere[...] 2019-01-30
[78] 웹사이트 CppCon 2018: Timur Doumler “Class template argument deduction in C++17” https://www.youtube.[...] 2019-01-30
[79] 웹사이트 N4640: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-11
[80] 웹사이트 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...] 2017-03-24
[81] 웹사이트 P0012R1: Make exception specifications be part of the type system, version 5 http://www.open-std.[...] 2018-12-17
[82] 웹인용 N4661 Editors' Report -- Programming Languages -- C++ http://www.open-std.[...] 2017-03-21
[83] 웹인용 ISO/IEC DIS 14882: Programming Languages — C++ http://www.open-std.[...]
[84] 웹인용 C++17 is formally approved https://herbsutter.c[...]
[85] 웹인용 ISO/IEC 14882:2017 https://www.iso.org/[...]
[86] 뉴스 the next standard after C++17 will be C++20 https://herbsutter.c[...]
[87] 웹인용 Current Status : Standard C++ https://isocpp.org/s[...]
[88] 웹인용 Trip Report: C++ Standards Meeting in Toronto, July 2017 https://botondballo.[...] 2018-01-11
[89] 간행물 IBM comment on preparing for a Trigraph-adverse future in C++17 http://www.open-std.[...] IBM paper N4210 2014-10-10
[90] 웹인용 N4190: Removing auto_ptr, random_shuffle(), And Old <functional> Stuff (Stephan T. Lavavej) http://www.open-std.[...]
[91] 웹인용 N3928: Extending static_assert, v2 (Walter E. Brown) http://www.open-std.[...]
[92] 웹인용 N4051: Allow typename in a template template parameter (Richard Smith) http://www.open-std.[...]
[93] 웹인용 N3922: New Rules for auto deduction from braced-init-list (James Dennett) http://www.open-std.[...]
[94] 웹인용 Updates to my trip report http://isocpp.org/bl[...]
[95] 웹인용 N4230: Nested namespace definition (Robert Kawulak, Andrew Tomazos) http://www.open-std.[...]
[96] 웹인용 N4266: Attributes for namespaces and enumerators (Richard Smith) http://isocpp.org/fi[...]
[97] 웹인용 N4640: Working Draft, Standard for Programming Language C++ http://www.open-std.[...]
[98] 웹인용 N4267: Adding u8 character literals (Richard Smith) http://isocpp.org/fi[...]
[99] 웹인용 Hexadecimal floating literals for C++ http://wg21.link/p02[...]
[100] 웹인용 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...]
[101] 웹인용 N4268: Allow constant evaluation for all non-type template arguments (Richard Smith) http://isocpp.org/fi[...]
[102] 웹인용 N4295: Folding expressions (Andrew Sutton, Richard Smith) http://isocpp.org/fi[...]
[103] 웹인용 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...]
[104] 웹인용 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...]
[105] 웹인용 If statement with initializer http://www.open-std.[...]
[106] 웹인용 Dynamic memory allocation for over-aligned data http://www.open-std.[...]
[107] 웹인용 N4640: Working Draft, Standard for Programming Language C++ http://www.open-std.[...]
[108] 웹인용 C++ Keywords: register https://en.cpprefere[...]
[109] 웹인용 N4659: Working Draft, Standard for Programming Language C++ http://www.open-std.[...]
[110] 웹인용 N4259: Wording for std::uncaught_exceptions (Herb Sutter) http://isocpp.org/fi[...]
[111] 웹인용 New core language papers adopted for C++17 https://isocpp.org/b[...]
[112] 웹인용 N4284: Contiguous Iterators (Jens Maurer) https://isocpp.org/f[...]
[113] 웹인용 Filesystem Library Proposal (Beman Dawes) http://www.open-std.[...]
[114] 웹인용 The Parallelism TS Should be Standardized https://isocpp.org/f[...]
[115] 웹인용 C++ Standards Support in GCC - GNU Project - Free Software Foundation (FSF) https://gcc.gnu.org/[...]
[116] 웹인용 Chapter 1. Status https://gcc.gnu.org/[...]
[117] 웹인용 Clang - C++17, C++14, C++11 and C++98 Status https://clang.llvm.o[...]
[118] 웹인용 Visual C++ Language Conformance https://docs.microso[...]
[119] 웹인용 Announcing: MSVC Conforms to the C++ Standard https://blogs.msdn.m[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com