原创 STL源碼剖析之算法:lower_bound

lower_bound()函數返回能夠插入value的第一個位置,該函數要求目標序列必須是有序的。 template <class ForwardIterator, class T>                             

原创 Cookbook系列之Cpp:雜項

問題01:如何使用地址來引用數據成員或成員函數     使用類名和範圍操作符加上星號來正確地引用類成員。 #include <iostream> #include <string>  using namespace std;  class 

原创 Python 新式類與經典類的區別

從 Python2.2 開始,Python 引入了 new style class。雖然從使用上看,new style class 與 classic class 沒有太大的差別, 但是在實現上, 兩者有很大的區別。比如,下文所展示的基類搜

原创 我的友情鏈接

51CTO博客開發

原创 Cookbook系列之Cpp:類

問題01:如何初始化成員變量?     你應該總是在構造函數的初始化列表中初始化成員變量,並且避免在構造函數體中進行成員變量的初始化工作。如果這個成員變量是一個類,在初始化列表中進行初始化,只需要一次構造操作;如果在函數體中進行初始化,則需

原创 STL源碼剖析之算法:upper_bound

upper_bound()函數返回插入value的最後一個位置,該函數要求目標序列必須是有序。另外,如果value已經存在於目標序列,upper_bound將返回value的下一位置,而lower_bound則會返回value的位置。 te

原创 C++文件操作詳解(ifstream、ofstream、fstream)

C++通過以下幾個類支持文件的輸入輸出: ofstream: 寫操作(輸出)的文件類 (由ostream引申而來) ifstream: 讀操作(輸入)的文件類(由istream引申而來) fstream: 可同時讀寫操作的文件類 (

原创 Cookbook系列之Cpp:代碼結構

問題01:如何確保頭文件只包含了一次     在你的頭文件中使用 #define 來定義一個宏,並且在沒有這個宏被定義時包含這個頭文件中的內容。你可以使用 #ifndef、#define 和 #endif 預處理指令集合。 #ifndef 

原创 Cookbook系列之Cpp:數值計算

問題01:如何將字符串形式的數值轉換爲諸如int或float之類的數值類型     定義在<cstdlib>中的strtol、strtod和strtoul函數可以將以null結尾的字符串轉換爲long int、double或unsigned

原创 STL源碼剖析之算法:make_heap

template <class RandomAccessIterator>                                             inline void make_heap(RandomAccessIter

原创 Cookbook系列之Cpp:數據流與文件

問題01:如何垂直排列文本輸出,使其左對齊或右對齊     使用標準的流操作符來設置字段的寬度和對齊方式。一個操作符就是操作在流上的函數,通過操作符<<將這些操作函數應用到流上。 #include <iostream>#include <i

原创 Fedora遇難記之rpmfusion:獲取 GPG 密鑰失敗

每個fusion源發佈的穩定 RPM 軟件包都配有一個GPG簽名。默認情況下,yum 和圖形更新工具驗證這些簽名並拒絕安裝任何沒有簽名或者簽名損壞的軟件包。您總是應該在安裝軟件包之前驗證其簽名。這些簽名可確保您要安裝的軟件包出自 fusi

原创 STL源碼剖析之算法:pop_heap

template <class RandomAccessIterator> inline void pop_heap(RandomAccessIterator first, RandomAccessIterator last) {     

原创 STL源碼剖析之算法:sort_heap

template <class RandomAccessIterator> void sort_heap(RandomAccessIterator first, RandomAccessIterator last) {     while(