相對于高級編程而言,低級編程更加依賴于硬件,它往往指位和字節(jié)級別的編程,主要應(yīng)用于嵌入式編程,也可用來提升程序效能。
POD(Plain Old Data),簡單的舊數(shù)據(jù),指標量、沒有構(gòu)造函數(shù)的舊式結(jié)構(gòu)體、基類、私有數(shù)據(jù)、虛擬函數(shù)等。POD在以字節(jié)為單位進行復(fù)制這方面來說是安全的。C++11可以把應(yīng)用舊標準C++98而開發(fā)出來的程序去除一些限制但仍然保留POD特性以便于以字節(jié)進行復(fù)制。
共用體也發(fā)生了變化。C++11允許共用體帶有構(gòu)造函數(shù)和析構(gòu)函數(shù),在其他方面也添加了新的限制,比如說不允許虛擬函數(shù)。共用體經(jīng)常用于最小化內(nèi)存占用。
C++11中的內(nèi)存對齊。alignof操作符提供了對某種類型在內(nèi)存對齊方面的說明。Alignas可以用于控制內(nèi)存對齊。
Constexpr機制允許編譯器把一個編譯期表達式計算成為一個常量值。在低級編程方面這個機制允許const量存儲在只讀內(nèi)存區(qū),這一點在嵌入式編程中尤其有用。無論是不是const變量,只要這個變量在運行期被初始化的,都存儲在內(nèi)存的隨機存儲區(qū)中。
C語言中的stdint.h和C++中的cstdint支持擴展類型。
C++11支持二進制標簽,這個標簽可以通過標簽操作符轉(zhuǎn)換成一個整型值。
C++11提供了static_assert用于測試編譯期表達式的真假,這類似于assert,但與之不同,assert用于判斷運行期的表達式。Static_assert主要用于簡化編譯期發(fā)生的模版的實例的調(diào)試工作。
C++11還支持元編程。關(guān)于這一點Effective C++中曾提過模版元編程。
低級編程
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 簡介 C++98/03的設(shè)計目標:一、比C語言更適合系統(tǒng)編程(且與C語言兼容)。二、支持數(shù)據(jù)抽象。三、支持面向?qū)ο?..
- 1、序可能是外面的炎熱,身上的汗臭,逼仄的筆記本屏幕,這幾種糟糕的事物聚集在一起,導(dǎo)致現(xiàn)在一點寫作熱情都沒有。不過...
- 1、序由于這篇文章是這個版塊的第一篇,所以本篇文章的格式,將作為后面文章的基本格式。文章的基本布局為:序、實現(xiàn)及說...