C++11其實主要就四方面內容,第一個是可變參數模板,第二個是右值引用,第三個是智能指針,第四個是內存模型(Memory Model)。相對來說,這也是較難理解的幾個特性,分別針對于泛型編程,內存優(yōu)化,內存管理和并發(fā)編程。
最近應邀在??途W寫 C++ 求職專欄,又把以前的秋招總結補充了很多東西,現在想想還是發(fā)出來,希望能夠幫助更多的新手小伙伴們。
為什么要學習C/C++/object-c?如何學習C/C++?本文簡單整理了一些C++圖書列表,按順序閱讀,可涵蓋入門到精通。
C語言一般提供三種預處理功能:宏處理、文件包含、條件編譯。頭文件防衛(wèi)式申明中會用到條件編譯中 #ifndef、#define、#endif 的用法。所以,首先價紹下條件編譯。
我們經常會討論這樣的問題:什么時候數據存儲在堆棧 (Stack) 中,什么時候數據存儲在堆 (Heap) 中。我們知道,局部變量是存儲在堆棧中的;debug 時,查看堆??梢灾篮瘮档恼{用順序;函數調用時傳遞參數,事實上是把參數壓入堆棧,聽起來,堆棧象一個大雜燴。那么,堆棧 (Stack) 到底是如何工作的呢?本文將詳解 C/C++ 堆棧的工作機制。
你是否也聽過類似的話語?我聽說過無數次,有些是面對面的交談,而有些來自某個論壇。雖然答案無非是“取決于具體情況”,但以我的拙見,學習C編程是非常寶貴的經驗。我想通過這篇短文向你展示C偉大的一面。
緩沖區(qū)溢出非常危險,因為??臻g內保存了函數的返回地址。該地址保存了函數調用結束后后續(xù)執(zhí)行的指令的位置,對于計算機安全來說,該信息是很敏感的。如果有人惡意修改了這個返回地址,并使該返回地址指向了一個新的代碼位置,程序便能從其它位置繼續(xù)執(zhí)行。實際上很多程序都會接受用戶的外界輸入,尤其是當函數內的一個數組緩沖區(qū)接受用戶輸入的時候,一旦程序代碼未對輸入的長度進行合法性檢查的話,緩沖區(qū)溢出便有可能觸發(fā)!本文主要介紹棧溢出的相關知識與保護措施,文章較長,建議先碼后看。
樹是數據結構中的重中之重,尤其以各類二叉樹為學習的難點。在面試環(huán)節(jié)中,二叉樹也是必考的模塊。本文主要講二叉樹操作的相關知識,梳理面試??嫉膬热?。請大家跟隨小編一起來復習吧。
所謂的數組越界,簡單地講就是指數組下標變量的取值超過了初始定義時的大小,導致對數組元素的訪問出現在數組的范圍之外,這類錯誤也是 C 語言程序中最常見的錯誤之一。在C語言中,數組必須是靜態(tài)的。換而言之,數組的大小必須在程序運行前就確定下來。