ISO/IEC TS 19568:2017
Programming Languages - C++ Extensions for Library Fundamentals
发布时间:2017-03-30 实施时间:


C++是一种广泛使用的编程语言,它具有高效、灵活和可扩展的特点。C++标准库是C++语言的核心组成部分之一,它提供了许多常用的库组件,如容器、迭代器、算法、输入/输出等。然而,C++标准库并不是完美的,它还有一些缺陷和不足之处。为了解决这些问题,ISO/IEC TS 19568:2017标准应运而生。

ISO/IEC TS 19568:2017标准扩展了C++标准库的基础部分,提供了一组通用的库组件,以便C++程序员可以更轻松地编写高质量的代码。这些库组件包括字符串处理、数值计算、容器、迭代器、算法和异常处理等方面。下面是一些主要的扩展内容:

1. 字符串视图(string_view):这是一个轻量级的字符串类型,它不拥有字符串的内存,而是引用已有的字符串。它可以用于提高字符串处理的效率和安全性。

2. 可选类型(optional):这是一个表示可选值的类型,它可以避免使用空指针或无效值来表示缺失的值。它可以用于提高代码的可读性和健壮性。

3. 任意类型容器(any):这是一个可以存储任意类型对象的容器,它可以用于实现泛型编程和动态类型系统。

4. 变长参数模板(variadic templates):这是一种可以接受任意数量和类型参数的模板,它可以用于实现可变参数函数和类模板。

5. 并行算法(parallel algorithms):这是一组可以在多核处理器上并行执行的算法,它可以用于提高算法的性能和效率。

除了上述扩展内容,ISO/IEC TS 19568:2017标准还包括许多其他的库组件,如数值计算、容器、迭代器、算法和异常处理等方面。这些库组件都是为了提高C++程序员的编程效率和代码质量而设计的。

相关标准
ISO/IEC 14882:2017 Programming Languages - C++

ISO/IEC 19768:2007 C++ Library Extensions

ISO/IEC 19841:2015 C++ Extensions for Concepts

ISO/IEC 21794:2020 C++ Extensions for Coroutines

ISO/IEC 29124:2010 C++ Extensions for Library Technical Report 1