原创 linux c/c++ 學習總結(7)-- 標準庫中IO緩衝區

c/c++語言把輸入輸出的功能從語言分離出來,通過標準庫實現。記得在初學c語言時,書上說“stdin,stdout,stderr是c語言標準IO流,stdin負責從終端讀入,stdout,stderr負責把信息輸出到終端,其中stderr

原创 linux c/c++ 學習總結(5)-- RTTI

RTTI(Run-Time Type Identification),通過運行時類型信息程序能夠使用基類的指針或引用來檢查這些指針或引用所指的對象的實際派生類型。 const_cast<>() //去掉變量的底層const屬性; int

原创 linux c/c++ 學習總結(8)-- 在某些情況下編譯器爲什麼可以不合成拷貝構造函數

關於編譯器爲什麼需要合成拷貝構造函數以及在什麼時候合成拷貝構造函數的文章很多,但是反過來想想:爲什麼在某些情況下編譯器可以不合成拷貝構造函數? 通常需要合成的情況有: 1)如果一個類沒有拷貝構造函數,但是含有一個類類型的成員變量,該類

原创 linux c/c++ 學習總結(3)-- static關鍵字

被static修飾的內容表示連接性爲內部,即static的函數或變量只會在當前翻譯單元內部使用,具有內部連接性的名字在編譯時就會生成,不需要等到鏈接時或是運行時,與之相對的是連接爲外部的變量和函數(static的反義詞可以認爲是exter

原创 linux c/c++ 學習總結(4)--const關鍵字

const這個關鍵字在c++被“重載”了很多次,寫在不同地方表示不同的意思。需要分別來說明: const 修飾變量 第一點:const修飾的變量一定要初始化,const變量的值在編譯時就要被確定,放在“代碼段”的“.rodata”中,如果