你可能想知道為什么C++語言的創造者加入了如此多的昂貴的——就執行時間和代碼大小來說——特性。你并不是少數,全世界的人都在對同樣的一件事情困惑——特別是用C++做嵌入式編程的用戶們。很多這些昂貴的特性是最近添加的,它們既不是絕對的必要也不是原來C++規范的一部分。這些特性一個接著一個的被添加到正在進行著的“標準化”進程中來。在1996 年,一群日本的芯片廠商聯臺起來定義了一個C++語言和庫的子集,它更加適合嵌入式軟件開發。他們把他們新的工業標準叫作嵌入式C++。令人驚奇的是,在它的初期,它就在C++用戶群中產生了很大的影響。
作為一個C++標準草案的合適子集,嵌入式C++省略了很多不限制下層語言可表達性的任何可以省略的東西。這些被省略的特性不僅包括像多重繼承性、虛擬基類、運行時類型識別和異常處理等昂貴的特性,而且還包括了一些最新的添加特性,比如:模板、命名
tb空問、新的類型轉換等。所剩下的是一個C++的簡單版本,它仍然是面向對象的并且是C 的一個超集,但是它具有明顯更少的運行開銷和更小的運行庫。
很多商業的C++編譯器已經專門地支持嵌入式C++標準。個別其他的編譯器允許手工的禁用具體的語言特性,這樣就使你能夠模仿嵌入式C++或者創建你的很個性化的C++語言。