Skip to content

Design of C++ programming language

Design of C++涉及的内容非常多,本文将涉及的内容进行梳理,以期作为了解C++ design的guide。

Contract

Programming language norm/standard是一种contract,在进行design的时候:

一、如何来描述目标的**执行效果**: 其实完整的描述是比较困难的,只能够以expression、statement为例来进行说明。

C++ expression将目标执行效果分为:

a、value computation

b、side effect

可以看到,C++仅仅定义了目标执行效果,对于执行过程并没有进行限制,因此这就给予了implementation充分的optimization空间。

NOTE: 这在 Order-of-evaluation 章节进行了描述

二、语言的设计需要综合考虑多种因素

1、需要提供充足的optimization空间,这样可以让compiler、hardware充分进行optimization

2、......

Design philosophy

参见 C++design-principle-feature-philosophy 章节