TR1 提供的所有内容现在都可以在 C++14 中使用并且易于使用吗?
Is everything provided by TR1 now available in C++14 and easy to make use of?
我们希望将旧源代码从使用 TR1 转换为不使用它,这将是简单的工作,例如修复 #includes、更改一些名称和修补构建系统,但找不到明确的说法表明这是所以对于 TR1 中的所有内容。
我通过语言增强了解 C++14,现在新的标准库提供了 TR1 中的许多好东西。甚至 C++11 也从 TR1 接管了很多东西。
但是 TR1 中的所有 内容是否已作为语言和库功能提供? TR1 中的哪些内容没有被 C++14 吃掉? (我们不使用的东西,我们希望。)
至于现在 C++14 中的 TR1 功能,是否需要比简单的名称更改更多的工作?
C++ 技术报告 1 (TR1) 是 ISO/IEC TR 19768、C++ Library Extensions 的通用名称,这是一份建议为 C++ 标准库添加的文档C++03 语言标准。添加的内容包括正则表达式、智能指针、哈希表和随机数生成器。 TR1 本身不是标准,而是一份草案文件。然而,它的大部分提案成为后来的官方标准 C++11 的一部分。在 C++11 标准化之前,供应商使用此文档作为创建扩展的指南 [1].
一般来说,TR1 的大部分功能都传递给了 C++11,除了 <random>
header 中的一些小例外和一些重命名,如下所示:
variate_generator
没有成功。
linear_congruential
变成了 linear_congruential_engine
mersenne_twister
变成了 mersenne_twister_engine
subtract_with_carry
变成了 subtract_with_carry_engine
subtract_with_carry_01
没有成功。
discard_block
变成了 discard_block_engine
xor_combine
没有成功。
uniform_int
变成了 uniform_int_distribution
uniform_real
变成了 uniform_real_distribution
另请注意,来自 C++17 中的 <type_traits>
header result_of
was replaced with invoke_result
。
我们希望将旧源代码从使用 TR1 转换为不使用它,这将是简单的工作,例如修复 #includes、更改一些名称和修补构建系统,但找不到明确的说法表明这是所以对于 TR1 中的所有内容。
我通过语言增强了解 C++14,现在新的标准库提供了 TR1 中的许多好东西。甚至 C++11 也从 TR1 接管了很多东西。
但是 TR1 中的所有 内容是否已作为语言和库功能提供? TR1 中的哪些内容没有被 C++14 吃掉? (我们不使用的东西,我们希望。)
至于现在 C++14 中的 TR1 功能,是否需要比简单的名称更改更多的工作?
C++ 技术报告 1 (TR1) 是 ISO/IEC TR 19768、C++ Library Extensions 的通用名称,这是一份建议为 C++ 标准库添加的文档C++03 语言标准。添加的内容包括正则表达式、智能指针、哈希表和随机数生成器。 TR1 本身不是标准,而是一份草案文件。然而,它的大部分提案成为后来的官方标准 C++11 的一部分。在 C++11 标准化之前,供应商使用此文档作为创建扩展的指南 [1].
一般来说,TR1 的大部分功能都传递给了 C++11,除了 <random>
header 中的一些小例外和一些重命名,如下所示:
variate_generator
没有成功。linear_congruential
变成了linear_congruential_engine
mersenne_twister
变成了mersenne_twister_engine
subtract_with_carry
变成了subtract_with_carry_engine
subtract_with_carry_01
没有成功。discard_block
变成了discard_block_engine
xor_combine
没有成功。uniform_int
变成了uniform_int_distribution
uniform_real
变成了uniform_real_distribution
另请注意,来自 C++17 中的 <type_traits>
header result_of
was replaced with invoke_result
。