C++存储方案
C++三種,C++11四種 這些方案的區(qū)別就在于數(shù)據(jù)保留在內(nèi)存中的時(shí)間。
**自動(dòng)存儲持續(xù)性:**在函數(shù)定義中聲明的變量(包括函數(shù)參數(shù))的存儲持續(xù)性為自動(dòng)的。它們在程序開始執(zhí)行其所屬的函數(shù)或代碼塊時(shí)被創(chuàng)建,在執(zhí)行完函數(shù)或代碼塊時(shí),它們使用的內(nèi)存被釋放。C++有兩種存儲持續(xù)性為自動(dòng)的變量。
**靜態(tài)存儲持續(xù)性:**在函數(shù)定義外定義的變量和使用關(guān)鍵字static定義的變量的存儲持續(xù)性都為靜態(tài)。它們在程序整個(gè)運(yùn)行過程中都存在。C++有3種存儲持續(xù)性為靜態(tài)的變量。
線程存儲持續(xù)性(C++11):當(dāng)前,多核處理器很常見,這些CPU可同時(shí)處理多個(gè)執(zhí)行任務(wù)。這讓程序能夠?qū)⒂?jì)算放在可并行處理的不同線程中。如果變量是使用關(guān)鍵字thread_local聲明的,則其生命周期與所屬的線程一樣長。本書不探討并行編程。
動(dòng)態(tài)存儲持續(xù)性:用new運(yùn)算符分配的內(nèi)存將一直存在,直到使用delete運(yùn)算符將其釋放或程序結(jié)束為止。這種內(nèi)存的存儲持續(xù)性為動(dòng)態(tài),有時(shí)被稱為自由存儲(free store)或堆(heap)。
總結(jié)
- 上一篇: C++有用的字符函数库
- 下一篇: s3c2440移植MQTT