惢是什么意思| chris是什么意思| 九月一日什么节日| 墨鱼是什么鱼| 潘多拉魔盒是什么意思| 四环素片主要治什么病| 摸底是什么意思| 查肝功能能查出什么病| 6岁属什么生肖| 观音土为什么能吃| 阴道杆菌是什么意思| 媛交是什么意思| 尿黄是什么原因引起的男性| 沙僧的武器叫什么名字| 院士是什么级别| 梦到吵架是什么意思| 脑血栓有什么症状| 3月份生日是什么星座| 汗臭味很重是什么原因引起的| 口腔溃疡不能吃什么| 嗓子疼吃什么药好| 枸杞泡水喝有什么作用和功效| 雷诺综合症是什么病| 气血虚吃什么| 梦见妈妈出轨预示什么意思| 三角梅什么时候开花| 男孩小名叫什么好听| 脑萎缩是什么病| 乳房胀痛是什么原因| 什么药治咳嗽最好| 炎症是什么意思| 吃什么食物可以补充雌激素| 自勉是什么意思| 脚老是抽筋是什么原因| 小猫不能吃什么| 迪拜为什么那么有钱| 北斗星代表什么生肖| 晚上七点到九点是什么时辰| 羊后马前对是什么生肖| 甲沟炎是什么| 男同性恋叫什么| 白痰吃什么药| 你算个什么东西| 红疮狼斑是什么引起的| 肌肉萎缩看什么科| 重庆沱茶属于什么茶| 淋巴细胞高是什么意思| 同病相怜什么意思| 肝郁血虚吃什么中成药| 9月3号是什么纪念日| 凝血酶时间是什么意思| 如家是什么内涵| 九月初六是什么星座| 屁臭是什么原因造成的| 迁移宫是什么意思| 光膀子什么意思| 灌注是什么意思| pigeon是什么牌子自行车| 脾阳不足吃什么中成药| 乔迁送什么花| 经常吃蜂蜜有什么好处| igg阳性是什么意思| 小腹疼挂什么科| 肾b超能检查出什么| 趴着睡觉有什么坏处| 爆肝是什么意思| 12岁属什么| 四肢抽搐口吐白沫是什么病| 人体最大的细胞是什么| 高中什么时候分文理科| 孩子流口水是什么原因引起的| 怀孕前三个月吃什么好| 地素女装属于什么档次| 做什么饭简单又好吃| 头小脸小适合什么发型| 瓦斯是什么| jdv是什么牌子| 高血压饮食上注意什么| 莆田荔枝什么时候成熟| 羽加立念什么| 眼睛很多眼屎是什么原因| 骨折长骨痂有什么反应| 尿不出来吃什么药| 什么叫低级别上皮内瘤变| ab型和a型生的孩子是什么血型| 心衰吃什么食物好| 女人更年期吃什么药| 五月二十五是什么星座| 释迦摩尼是什么意思| 糗大了是什么意思| 什么是伤官见官| 济南有什么特产| 潜伏是什么意思| 带状疱疹可以吃什么水果| 下巴老是长痘痘是什么原因| 新白娘子传奇许仙为什么用女的演| 孕妇做糖筛是检查什么| 全飞秒手术是什么| 24号来月经什么时候是排卵期| 劲酒加什么好喝| 鼻窦炎吃什么药好| 玛咖是什么| 怀孕肚子会有什么反应| 88.88红包代表什么意思| 做梦梦见蛇是什么意思| 硬膜囊受压是什么意思| 淡盐水漱口有什么好处| 科目三为什么这么难| 眼睛白色部分叫什么| 什么是对食| 暖巢早衰是什么原因| 梦见买馒头是什么意思| 透析病人吃什么水果好| 狗狗胰腺炎有什么症状| 脱相是什么意思| 哮喘有什么症状| 2005年属鸡的是什么命| 日行千里是什么生肖| 螨虫是什么样子的| 验光pd是什么意思| 石斛起什么作用| 93年属什么的| 小腹变大是什么原因| 蚯蚓中药叫什么| 琼字代表什么生肖| 夏天喝什么汤| 阴唇痒是什么原因| 足跟痛挂什么科| 男士脸黑穿什么颜色好| 尾戒代表什么| 肴肉是什么肉| 真菌感染有什么症状| 空腹吃西红柿有什么危害| evisu是什么牌子中文| 米为什么会生虫| 小老头是什么意思| 高铁列车长是什么级别| 橄榄绿是什么颜色| 梅核气吃什么药最好| 通灵是什么意思| 睡觉起来眼皮肿是什么原因| 泔水是什么意思| 相什么并什么| 中元节会开什么生肖| 坐地户是什么意思| 天青色等烟雨是什么意思| 春晓的晓是什么意思| 大姨妈延迟是什么原因| 右肾钙化灶是什么意思| 舌头有齿痕是什么原因| 什么人容易得骨髓瘤| 卢字五行属什么| 舌头无苔是什么原因| 身上有红色的小红点是什么原因| 李宁是什么运动员| 绿痰吃什么药| 婚动是什么意思| 什么叫有氧运动| 打不死的小强什么意思| 术后改变是什么意思| 小孩子发烧是什么原因引起的| 三甲医院是什么意思| 杨桃是什么季节的水果| 为什么头发总是很油| 正常人尿液是什么颜色| 神经性皮炎不能吃什么食物| 婴儿大便绿色是什么原因| 什么是阿尔茨海默症| 儿茶酚胺是什么| 腋下有味道是什么原因| 中午12点是什么时辰| 肚子里有积水是什么病| 大姨妈来吃什么水果好| 什么散步填词语| 法西斯是什么| 上海古代叫什么| 早上起床口苦吃什么药| 8岁属什么| hib是什么疫苗| exp是什么函数| 手臂突然疼痛什么原因| 有机奶粉是什么意思| 蚊虫叮咬红肿用什么药快速消肿| 临终关怀的目的是什么| 吃什么东西对心脏好| 什么体质人容易长脚气| 2.25是什么星座| 2010年什么年| 吃优甲乐不能吃什么| 倍感欣慰是什么意思| 腺癌是什么癌| 大牙什么时候换| 狐仙一般找什么人上身| 上面一个处下面一个日是什么字| 5月13日什么星座| 细菌性肠炎是什么原因引起的| 梅雨季节是什么意思| 21速和24速有什么区别| 手臂长痘痘是什么原因| 无偿献血证有什么用| 欧巴什么意思| pdc是什么意思| y谷氨酰基转移酶高是什么原因| 布洛芬吃多了有什么后果| 尿频什么原因| 党内的最高处分是什么| 牛肉烧什么菜最好吃| 苹果煮水喝有什么好处和坏处| 喝完酒早上吃什么好| 术后病人吃什么营养恢复快| 什么原因导致子宫内膜息肉| 腕管综合症吃什么药| 忽然流鼻血是什么原因引起的| 什么名字最霸气| 鸡胸肉炒什么菜好吃| 浮瓜沉李什么意思| 机器灵砍菜刀是什么意思| 蓝莓有什么功效与作用| 随波逐流是什么意思| 双氧水又叫什么名字| 手心长痣代表什么| 水瓶座前面是什么星座| 重字五行属什么| 操逼是什么感觉| 暑假是什么时候放假| 豆五行属什么| 吃柠檬是什么意思| 街道办事处属于什么单位| 肠炎不能吃什么东西| 血糖高吃什么水果降糖| 血热是什么原因| 关节外科主要看什么| 辰时是什么时候| 打眼是什么意思| 对称是什么意思| 夜尿次数多是什么原因| 蛤读什么| 出冷汗是什么原因| 八大菜系之首是什么菜| 乳腺增生结节吃什么药效果好| 芦荟胶有什么作用| 星光是什么意思| 为什么不能用红笔写名字| 脯氨酸氨基肽酶阳性是什么意思| 为什么身上有红色的痣| 什么叫偏光眼镜| 撸猫是什么意思| 境遇是什么意思| 青蛙喜欢吃什么| 疤痕体质是什么| 什么病属于重大疾病| 经常做噩梦是什么原因| 女人有腰窝意味着什么| 酉什么意思| 肚子容易饿是什么原因| 大兴安岭属于什么市| 七月四日是什么星座| 零零年属什么| 阿sir什么意思| 猪油不凝固是什么原因| 女生下边长痘痘是什么病| 止血敏又叫什么名| 夏天适合吃什么食物| 心内科是看什么病的| 百度
Namespaces
Variants
Actions

2017年上半年甘肃省高等教育自考4月15日开考

From cppreference.com
< cpp
百度 消息人士表示,此前,作为新零售基础设施,阿里巴巴生态内的商业与物流业互相协同促进,已经实现线上线下的深度融合,产生了以分钟计算的物流配送速度。

The C++ standard library provides a wide range of facilities that are usable in standard C++.

Contents

[edit] Category

The language support library provides components that are required by certain parts of the C++ language, such as memory allocation (new/delete) and exception processing.

The concepts library describes library components that C++ programs may use to perform compile-time validation of template arguments and perform function dispatch based on properties of types.

(since C++20)

The diagnostics library provides a consistent framework for reporting errors in a C++ program, including predefined exception classes.

The memory management library provides components for memory management, including smart pointers and scoped allocator(since C++11).

The metaprogramming library describes facilities for use in templates and during constant evaluation, including type traits, integer sequence,(since C++14) and rational arithmetic.

(since C++11)

The general utilities library includes components used by other library elements, such as a predefined storage allocator for dynamic storage management, and components used as infrastructure in C++ programs, such as tuples and(since C++11) function wrappers.

The containers, iterators, ranges(since C++20), and algorithms libraries provide a C++ program with access to a subset of the most widely used algorithms and data structures.

The strings library provides support for manipulating text represented as homogeneous sequences of following types: char, char8_t(since C++20), char16_t, char32_t(since C++11), wchar_t, and any other character-like types.

The text processing library provides regular expression matching and searching(since C++11), utilities for text formatting(since C++20), identifying text encodings(since C++26) and localization facilities.

The numerics library provides numeric algorithms and complex number components that extend support for numeric processing. The valarray component provides support for n-at-a-time processing, potentially implemented as parallel operations on platforms that support such processing. The random number component provides facilities for generating pseudo-random numbers.(since C++11)

The time library provides generally useful time utilities.

The input/output library provides the iostream components that are the primary mechanism for C++ program input and output. They can be used with other elements of the library, particularly strings, locales, and iterators.

The thread support library provides components to create and manage threads, including atomic operations, mutual exclusion, and inter-thread communication.

(since C++11)

The execution support library provides a framework for managing asynchronous execution on generic execution resources.

(since C++26)

[edit] Library contents

The C++ standard library provides definitions for the entities and macros described in the synopses of the C++ standard library headers, unless otherwise specified.

All library entities except operator new and operator delete are defined within the namespace std or namespaces nested within namespace std (except the entities for the C standard library facilities, see below). It is unspecified whether names declared in a specific namespace are declared directly in that namespace or in an inline namespace inside that namespace.(since C++11)

[edit] Headers

Each element of the C++ standard library is declared or defined (as appropriate) in a header. A header is not necessarily a source file, nor are the sequences delimited by < and > in header names necessarily valid source file names.

The C++ standard library provides the C++ library headers and additional C++ headers for C library facilities (see “headers” page for descriptions):

C++ library headers
<algorithm> <iomanip> <list> <ostream> <streambuf>
<bitset> <ios> <locale> <queue> <string>
<complex> <iosfwd> <map> <set> <typeinfo>
<deque> <iostream> <memory> <sstream> <utility>
<exception> <istream> <new> <stack> <valarray>
<fstream> <iterator> <numeric> <stdexcept> <vector>
<functional> <limits>
Headers added in C++11
<array> <condition_variable> <mutex> <scoped_allocator> <type_traits>
<atomic> <forward_list> <random> <system_error> <typeindex>
<chrono> <future> <ratio> <thread> <unordered_map>
<codecvt> <initializer_list> <regex> <tuple> <unordered_set>
Headers added in C++14
<shared_mutex>
Headers added in C++17
<any> <execution> <memory_resource> <string_view> <variant>
<charconv> <filesystem> <optional>
Headers added in C++20
<barrier> <concepts> <latch> <semaphore> <stop_token>
<bit> <coroutine> <numbers> <source_location> <syncstream>
<compare> <format> <ranges> <span> <version>
Headers added in C++23
<expected> <flat_set> <mdspan> <spanstream> <stdfloat>
<flat_map> <generator> <print> <stacktrace>
Headers added in C++26
<contracts> <hazard_pointer> <inplace_vector> <rcu> <text_encoding>
<debugging> <hive> <linalg> <simd>
Removed headers
<codecvt> (since C++11)(deprecated in C++17)(removed in C++26)
<strstream> (deprecated in C++98)(removed in C++26)
C++ headers for C library facilities
<cassert> <clocale> <cstdarg> <cstring>
<cctype> <cmath> <cstddef> <ctime>
<cerrno> <csetjmp> <cstdio> <cwchar>
<cfloat> <csignal> <cstdlib> <cwctype>
<climits>
Headers added in C++11
<cfenv> <cinttypes> <cstdint> <cuchar>
Removed headers
<ccomplex> (since C++11)(deprecated in C++17)(removed in C++20)
<ciso646> (removed in C++20)
<cstdalign> (since C++11)(deprecated in C++17)(removed in C++20)
<cstdbool> (since C++11)(deprecated in C++17)(removed in C++20)
<ctgmath> (since C++11)(deprecated in C++17)(removed in C++20)

A freestanding implementation has an implementation-defined set of headers, see here for the minimal requirement on the set of headers.

[edit] C standard library

The C++ standard library also makes available the facilities of the C standard library, suitably adjusted to ensure static type safety. The descriptions of many library functions rely on the C standard library for the semantics of those functions.

In some cases, the signatures specified in standard C++ may be different from the signatures in the C standard library, and additional overloads may be declared, but the behavior and the preconditions (including those implied by C's restrict)(since C++17) are the same unless otherwise stated.

For compatibility with the C standard library, the C++ standard library provides the C headers listed below. The intended use of these headers is for interoperability only. It is possible that C++ source files need to include one of these headers in order to be valid ISO C. Source files that are not intended to also be valid ISO C should not use any of the C headers. See here for descriptions.

C headers
<assert.h> <limits.h> <stdarg.h> <string.h>
<ctype.h> <locale.h> <stddef.h> <time.h>
<errno.h> <math.h> <stdio.h> <wchar.h>
<float.h> <setjmp.h> <stdlib.h> <wctype.h>
<iso646.h> <signal.h>
Headers added in C++11
<complex.h> <inttypes.h> <stdbool.h> <tgmath.h>
<fenv.h> <stdalign.h> <stdint.h> <uchar.h>
Headers added in C++23
<stdatomic.h>
Headers added in C++26
<stdbit.h> <stdchkint.h>

Except otherwise noted, the contents of each header cxxx is the same as that of the corresponding header xxx.h as specified in the C standard library. In the C++ standard library, however, the declarations (except for names which are defined as macros in C) are within namespace scope of the namespace std. It is unspecified whether these names (including any overloads added) are first declared within the global namespace scope and are then injected into namespace std by explicit using-declarations.

Names which are defined as macros in C (assert, offsetof, setjmp, va_arg, va_end and va_start) must be defined as macros in the C++ standard library, even if C grants license for implementation as functions.

Names that are defined as functions in C must be defined as functions in the C++ standard library. This disallows the practice, allowed in C, of providing a masking macro in addition to the function prototype. The only way to achieve equivalent inline behavior in C++ is to provide a definition as an extern inline function.

Identifiers that are keywords or operators in C++ cannot be defined as macros in C++ standard library headers. In particular, including the standard header <iso646.h> has no effect.

[edit] Names associated with safe functions in standard C (since C++17)

If any C++ header is included, it is implementation-defined whether any of the following C standard Annex K names is declared in the global namespace (none of them is declared in namespace std):

C standard Annex K names
abort_handler_s mbstowcs_s strncat_s vswscanf_s
asctime_s memcpy_s strncpy_s vwprintf_s
bsearch_s memmove_s strtok_s vwscanf_s
constraint_handler_t memset_s swprintf_s wcrtomb_s
ctime_s printf_s swscanf_s wcscat_s
errno_t qsort_s tmpfile_s wcscpy_s
fopen_s RSIZE_MAX TMP_MAX_S wcsncat_s
fprintf_s rsize_t tmpnam_s wcsncpy_s
freopen_s scanf_s vfprintf_s wcsnlen_s
fscanf_s set_constraint_handler_s vfscanf_s wcsrtombs_s
fwprintf_s snprintf_s vfwprintf_s wcstok_s
fwscanf_s snwprintf_s vfwscanf_s wcstombs_s
gets_s sscanf_s vprintf_s wmemcpy_s
gmtime_s mbstowcs_s vscanf_s vswscanf_s
abort_handler_s strcat_s vsnprintf_s wmemmove
ignore_handler_s strcpy_s vsnwprintf_s wprintf_s
localtime_s strerrorlen_s vsprintf_s wscanf_s
L_tmpnam_s strerror_s vsscanf_s
mbsrtowcs_s strlen_s vswprintf_s

[edit] Using the library

[edit] Including headers

The entities in the C++ standard library are defined in headers, whose contents are made available to a translation unit when it contains the appropriate #include preprocessing directive.

A translation unit may include library headers in any order. Each may be included more than once, with no effect different from being included exactly once, except that the effect of including either <cassert> or <assert.h> depends each time on the lexically current definition of NDEBUG.

A translation unit can only include a header outside of any declaration or definition, and lexically before the first reference in that translation unit to any of the entities declared in that header. No diagnostic is required.

In module units, headers can only be included in global module fragments.

(since C++20)

Importing headers

The C++ library headers, or, for a freestanding implementation, the subset of such headers that are provided by the implementation, are collectively known as the importable C++ library headers.

The contents of importable C++ library headers are made available to a translation unit when it contains the appropriate import declaration.

(since C++20)

Importing modules

The C++ standard library provides the following C++ library modules:

  • The named module std exports declarations in namespace std that are provided by the importable C++ library headers (e.g. std::rotr from <bit>) and the C++ headers for C library facilities (e.g. std::puts from <cstdio>). It additionally exports declarations in the global namespace for the storage allocation and deallocation functions that are provided by <new> (e.g. ::operator new).
  • The named module std.compat exports the same declarations as the named module std, and additionally exports declarations in the global namespace corresponding to the declarations in namespace std that are provided by the C++ headers for C library facilities (e.g. ::fclose).

For each declaration in the standard library,

  • the module it attaches to is unspecified, and
  • it denotes the same entity regardless of whether it was made reachable through including a header, importing a header unit, or importing a C++ library module.
(since C++23)

[edit] Linkage

Entities in the C++ standard library have storage duration#external linkage. Unless otherwise specified, objects and functions have the default extern "C++" linkage.

Whether a name from the C standard library declared with external linkage has extern "C" or extern "C++" linkage is implementation-defined. The C++ standard recommends using extern "C++" in this case.

Objects and functions defined in the library and required by a C++ program are included in the program prior to program startup.

[edit] Requirements on standard library implementations

[edit] Guarantees

A C++ header must provide declarations and definitions that appear in

  • the synopsis of that header, or
  • the synopsis of another header which is appeared to be included in the synopsis of that header.

For types and macros defined in multiple headers (such as NULL), including any number of these headers in any order never violates the one definition rule.

Unless otherwise specified, all object-like macros defined by the C standard library that expand to integral constant expressions can be used in #if preprocessing directives.

Calling a standard library non-member function signature always results in actually calling that function. Therefore a conforming standard library implementation cannot define additional non-member functions that may be called by a valid C++ program.

Non-member function signatures are never declared with additional default arguments.

Unless otherwise specified, calls made by functions in the standard library to non-operator, non-member functions do not use functions from another namespace which are found through argument-dependent name lookup.

For each friend declaration of a function (template) within a class (template) definition, no other declaration is provided for that function (template).

Standard library function signatures can only be declared as constexpr if they are required to be constexpr (libstdc++ cmath is notably non-conforming here). If a header provides any non-defining declarations of constexpr functions or constructors, the corresponding definitions should also be provided within that header.

Unless otherwise specified, each standard library function should meet each of the following requirements to prevent data races:

  • A C++ standard library function cannot (directly or indirectly) access objects accessible by threads other than the current thread unless the objects are accessed (directly or indirectly) via the function’s arguments, including this.
  • A C++ standard library function cannot (directly or indirectly) modify objects accessible by threads other than the current thread unless the objects are accessed (directly or indirectly) via the function’s non-const arguments, including this.
    • For example, an object with static storage duration cannot be used for internal purposes without synchronization because doing so can cause a data race even in programs that do not explicitly share objects between threads.
  • A C++ standard library function cannot access objects indirectly accessible via its arguments or via elements of its container arguments except by invoking functions required by its specification on those container elements.
  • An operation on iterators obtained by calling a standard library container or string member function can access, but not modify, the underlying container.
    • In particular, container operations that invalidate iterators conflict with operations on iterators associated with that container.
  • A C++ standard library function can only perform all operations solely within the current thread if those operations have effects that are visible to users.
    • Operations without visible side effects can be parallelized.
(since C++11)

For each class defined in the C++ standard library required to be derived from another class defined in the C++ standard library,

  • the base class must be virtual if it is specified as virtual,
  • the base class cannot be virtual if it is not specified as virtual, and
  • unless otherwise specified, types with distinct names shall be distinct types.

Unless otherwise specified, all types specified in the C++ standard library are non-final types.

(since C++11)

If a function defined in the C++ standard library is specified to throw an exception (in a particular situation) of a given type, the exception thrown can only have that type or a type derived from that type so that an exception handler for the base type can catch it.

Functions from the C standard library can only throw exceptions when such a function calls a program-supplied function that throws an exception (qsort() and bsearch() meet this condition).

Destructor operations defined in the C++ standard library never throw exceptions. Every destructor in the C++ standard library behaves as if it had a non-throwing exception specification.

If a function in the C++ standard library report errors via a std::error_code object, that object's category() member must return std::system_category() for errors originating from the operating system, or a reference to an implementation-defined std::error_category object for errors originating elsewhere. The possible values of value() for each of these error categories should be defined.

Objects of types defined in the C++ standard library may be moved from. Move operations can either be explicitly specified or implicitly generated. Unless otherwise specified, such moved-from objects will be placed in a valid but unspecified state.

An object of a type defined in the C++ standard library may be move-assigned to itself. Unless otherwise specified, such an assignment places the object in a valid but unspecified state.

(since C++11)

[edit] Implementation freedom

It is unspecified whether any member or non-member functions in the C++ standard library are defined as inline.

For a non-virtual C++ standard library member function, a different set of member function signatures can be declared, provided that any call to that member function that would select an overload from the given set of declarations behaves as if that overload was selected. This allows, for instance:

  • adding parameters with default arguments,
  • replacing a member function with default arguments with two or more member functions with equivalent behavior, or
  • adding additional signatures for a member function name.

Unless otherwise specified, it is implementation-defined which functions in the C++ standard library may be recursively reentered.

C++ standard library implementations can share their own internal objects between threads if the objects are not visible to users and are protected against data races.

(since C++11)

It is unspecified whether any function signature or class in the C++ standard library is a friend of another class in the C++ standard library.

The names and global function signatures described here are reserved to the implementation.

Any class in the C++ standard library can be derived from a class with a name reserved to the implementation. If a class defined in the C++ standard library is required to be derived from other classes in the C++ standard library, that class can be derived directly from the required base or indirectly through a hierarchy of base classes with names reserved to the implementation.

If a function defined in the C++ standard library is not specified to throw an exception but does not have a non-throwing exception specification, the exception thrown is implementation-defined, but its type should be std::exception or any type derived from std::exception.

The exception specification for a non-virtual function can be strengthened by adding a non-throwing exception specification.

Standard library hardening

An implementation can be a hardened implementation , whether the implementation is hardened is implementation-defined.

Some standard library member functions (and member function templates) have hardened precondition . When such a function is invoked:

  • If the implementation is hardened, prior to any other observable side effects of the function, one or more contract assertions whose predicates are as described in the hardened precondition are evaluated with a checking semantic. If any of these assertions is evaluated with a non-terminating semantic and the contract-violation handler returns, the behavior is undefined.
  • If the implementation is not hardened, when a hardened precondition is violated, the behavior is undefined.

Member functions with hardened preconditions

Category Sequence containers Container views String (view) classes General Utilities
Numeric arrays
Class array vector inplace_vector deque list forward_list span mdspan basic_string basic_string_view bitset  optional   expected  valarray
(constructor) span mdspan
Element
access
operator* operator* operator*
operator-> operator-> operator->
operator[] operator[] operator[] operator[] operator[] operator[] operator[] operator[] operator[] operator[] operator[]
front front front front front front front front front front
back back back back back back back back back
error error
Subviews first first
last last
subspan subspan
Modifiers pop_front pop_front pop_front pop_front
pop_back pop_back pop_back pop_back pop_back pop_back
remove_prefix remove_prefix
remove_suffix remove_suffix
(since C++26)

[edit] Notes

libstdc++, libc++, and STL all support using standard library modules in C++20 mode.

Feature-test macro Value Std Feature
__cpp_lib_modules 202207L (C++23) Standard library modules std and std.compat
Hardened implementation only
__cpp_lib_hardened_array 202502L (C++26) Hardened std::array
__cpp_lib_hardened_basic_string 202502L (C++26) Hardened std::basic_string
__cpp_lib_hardened_basic_string_view 202502L (C++26) Hardened std::basic_string_view
__cpp_lib_hardened_bitset 202502L (C++26) Hardened std::bitset
__cpp_lib_hardened_deque 202502L (C++26) Hardened std::deque
__cpp_lib_hardened_expected 202502L (C++26) Hardened std::expected
__cpp_lib_hardened_forward_list 202502L (C++26) Hardened std::forward_list
__cpp_lib_hardened_inplace_vector 202502L (C++26) Hardened std::inplace_vector
__cpp_lib_hardened_list 202502L (C++26) Hardened std::list
__cpp_lib_hardened_mdspan 202502L (C++26) Hardened std::mdspan
__cpp_lib_hardened_optional 202502L (C++26) Hardened std::optional
__cpp_lib_hardened_span 202502L (C++26) Hardened std::span
__cpp_lib_hardened_valarray 202502L (C++26) Hardened std::valarray
__cpp_lib_hardened_vector 202502L (C++26) Hardened std::vector

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 1 C++98 the language linkages of the names from
the C standard library were unspecified
they are
implementation-defined
LWG 119 C++98 the exception specifications of virtual
functions could be strengthened
only allowed for
non-virtual functions
LWG 147 C++98 the specification on non-member
functions only considered global functions
also considers
non-global functions
LWG 225 C++98 standard library functions might call non-member functions
from other namespaces due to argument-dependent lookup
prohibited unless
otherwise specified
LWG 336 C++98 <strstream> was not a C++ library header it is a C++ library header
LWG 343 C++98 library header dependencies were not specified specified (listed in synopses)
LWG 456 C++98 C++ headers for C library facilities could
only provide definitions in namespace std
allowed to define in global namespace
and then inject into namespace std
LWG 465 C++98 identifiers that are keywords or operators in C++ could
be defined as macros in C++ standard library headers
(only <ciso646> is required not to define them as macros)
all C++ standard
library headers cannot
define them as macros
LWG 1178 C++98 C++ headers must include a C++ header
that contains any needed definition
C++ headers must provide declarations
and definitions that are directly or
indirectly included in its synopsis
LWG 2013 C++11 it was unspecified whether the functions not
required by the standard to be constexpr can
be declared constexpr by the standard library
prohibited
LWG 2225 C++98 a diagnostic was required if a header
is included at an incorrect position
no diagnostic is
required in this case

感冒鼻塞吃什么药 身首异处是什么意思 炎症用什么药最好 舌头发麻是什么原因引起的 胃酸过多是什么原因造成的
预热是什么意思 swell是什么牌子 牛肉饺子配什么菜好吃 玉髓是什么材质 经常叹气是什么原因
女人嘴唇发紫是什么病 被跳蚤咬了涂什么药膏 elisa是什么检测方法 女菩萨是什么意思 血压高呕吐是什么征兆
努尔哈赤是什么意思 jacquemus是什么牌子 龙眼什么时候上市 晏字五行属什么 数字7的风水含义是什么
小手指麻木是什么原因引起的hcv8jop8ns8r.cn 纺锤形是什么形状hcv8jop4ns9r.cn sansui是什么牌子hcv9jop5ns8r.cn 什么积木hcv9jop7ns5r.cn 15朵玫瑰花代表什么意思hcv7jop6ns7r.cn
打卡什么意思zsyouku.com 阴阳二气是什么意思hcv8jop0ns9r.cn 食指中指交叉什么意思hcv9jop5ns0r.cn 耐信是什么药hcv7jop6ns6r.cn 煮牛骨头放什么调料hcv7jop5ns5r.cn
月经期间吃什么好hcv8jop2ns7r.cn 你为什么hcv8jop9ns5r.cn 看手指甲挂什么科室hcv7jop5ns0r.cn 办护照需要什么hcv8jop2ns0r.cn 梦到自己结婚什么意思hcv9jop1ns1r.cn
grace是什么意思hcv9jop3ns4r.cn 口犬读什么hcv9jop7ns0r.cn 屈光是什么意思jinxinzhichuang.com 家里停电打什么电话hcv9jop2ns7r.cn bally什么牌子hcv8jop4ns6r.cn
百度