指导标准委员会的具体设计目标是什么?
优质
小牛编辑
133浏览
2023-12-01
自然,涉及不同标准化的不同组织或个人都会有某些不同的目的,尤其是在细节和优先级方面。此外,详细的目标总是随时间的改变而变动的。请记住,委员会做不到认同每个人的意见本身也是件好事——志愿者们的资源还是非常有限的。然而,这里已经有一套在实际探讨中使用着的规范,以此来确定那种特性或是库文件可适当的用C++0x中:
- 保持稳定和兼容性——不要打破旧代码,而如果你非打破不可的话,不要静静的做(注:应该是让做点工作告知大家吧)。
- 重库文件而非语言拓展–这是一条委员会做得不太成功的理念,因为太多人更喜欢实实在在的语言特性(而不是库)
- 重一般性而非专业性——聚焦于改善抽象机制(类,模板等)。
- 要专家新手都支持——新手可以通过更好的库文件及更多的一般性规则得到帮助,而专家需要一般且有效的特性。
- 提升类安全——主要的措施是通过允许程序员以避免类型不安全的性能。
- 提高性能和直接与硬件工作的能力——使C++甚至更好的用于嵌入式系统编程和高性能计算。
- 与实际世界相符——考虑工具链,实施成本,转换问题,ABI问题,教学和学习等注意到整合性能(新的和旧的)使之结合工作是个关键——基本上大部分的工作都是。整体大于各部分之和。另一种看待详细目的的方式是观察使用领域和使用风格:
- 机械模型和一致性——为使用现代硬件提供更强的保障和更好的设施(如多核及柔软的连贯内存模型?)。例子如 thread ABI, thread-local storage, 和 atomics ABI。
- 泛型编程——GP也是C ++ 98取得的巨大成就,我们需要基于经验改进对其的支持。例子像 auto 和 template aliases。
- 系统编程 – 改善与硬件相近的编程(如低级别的嵌入式系统编程),提高效率。例子有constexpr, std::array, 和 eneralized PODs.
- 库建设 – 消除抽象机制的局限性,效率低和不规范。例子有inline namespace, inherited constructors, 和 rvalue references.
(翻译:Chilli)未整理