第20.3章:观看:独立 C++ 的过去、现在与未来
问题背后的历史
这一章讲的是独立 C++ 做不到什么,以及为什么。这场演讲讲的是历史:独立子集最初是怎么被规定的, 为什么它的头文件清单在语言不断增长的同时二十年没动,C++23 的工作如何终于交付了一份可用的清单, 以及剩下的窟窿是怎么来的。演讲者是 Ben Saks,来自 CppCon 2019,是关于这个主题最好的一小时讲述。
演讲
按演讲展开的顺序,值得注意这些点:
看完之后
带着演讲留下的问题回来,因为前面两页用 2019 年的演讲无法假定的机制回答了它们:
-
20.1 — 一次遗留
throw究竟向链接器要求什么,以及为什么你提供不了。 -
20.2 — 在独立环境里确实能用的错误处理:
一个数据符号、没有 unwinder,以及
[domain](code)而不是一张消息表。 - 20.2 — 一个把分配器和设备做成类型参数的程序, 这才是"独立库"该有的样子,而它几乎从来不是。
下一章 21 讲 C++ 的宿主假设在另一个地方让你付出代价:桌面。 在那里,选择不是内核与标准库之间,而是 GUI 工具包与网页之间。