原创 基本數據結構:隊列(queue)

 基本數據結構:隊列(queue) 作者:C小加 更新時間:2012-8-2 像棧一樣,隊列(queue)也是一種線性表,它的特性是先進先出,插入在一端,刪除在另一端。就像排隊一樣,剛來的人入隊(push)要排在隊尾(rear),每次出隊(

原创 高速緩存(cache)和主存內容不一致的情況

 由於cache的內容只是主存部分內容的拷貝,它應當與主存內容保持一致。但是,在一些情況下會出現cache和主存內容不一致的情況。如下: 1、 寫操作後,沒有刷洗cache到內存裏面,那麼cache爲髒,跟內存不同步 解決方案: (1)

原创 基本數據結構:樹(tree)

 基本數據結構:樹(tree) 作者:C小加 更新時間:2012-8-2 無論是鏈表,棧還是隊列,它們都是線性結構的,每個節點的左邊最多一個節點,右邊也最多一個節點,對於大量的輸入數據,線性表的訪問時間太慢,不宜使用。這裏我要說一種非線性的

原创 關於拷貝(複製)構造函數爲什麼不能用值傳遞

  當你嘗試着把拷貝構造函數寫成值傳遞的時候,會發現編譯都通不過,錯誤信息如下: error: invalid constructor; you probably meant 'S (const S&)' (大致意思是:無效的構造函數,你應

原创 C++重載(參數多態)的實現機制

 C++繼承了C的全部特性,對C實現了全面兼容。C++又實現了一些新的特性,比如說函數的重載。 要實現函數的重載就要改變原有的在C中函數定義的機制,在C中定義函數fun(int a,int b),編譯器會把_fun寫入符號庫中,使用fun(

原创 main函數結束後的調用

 本以爲主函數main是首先被調用的函數,後來發現操作系統會調用一個啓動函數,對C++運行庫進行初始化。 本以爲主函數main被返回之後操作系統將回收資源,卻不知一個重要的函數—atexit()。   程序退出的時候需要一些諸如釋放資源的操

原创 基本數據結構:鏈表(list)(2)

接上篇  第九步,實現insert()和insertHead()函數,在p節點後插入值爲x的節點。如圖5。   代碼如下:   template<class T>  void  myslist<T>::insert(T x,slist

原创 空類,虛函數類,虛繼承類的空間大小

  //此代碼在32位win下運行成功 #include<iostream> using namespace std; class A//A是空類,編譯器會用一個char類型標記這個類,大小爲1 {  }; class B:public A

原创 C++內存管理變革(2):最袖珍的垃圾回收器

  最袖珍的垃圾回收器 許式偉 2005-7-17 關鍵字: 內存管理 垃圾回收 AutoFreeAlloc keyword: memory manage, gc, garbage collection, AutoFreeAlloc

原创 我的友情鏈接

51CTO博客開發