原创 非遞歸遍歷二叉樹的實現

參考:http://blog.csdn.net/kofsky/article/details/2886453/ #pragma once #define NUM_NODE 8 #include<iostream> #include<st

原创 c++容器和適配器

容器vector,list,deuqe是C++STL中三種基本容器實現,它們不可能互爲實現同時又不損失效率, 就像顏色中的三原色紅綠藍可以混成其他多種顏色. 而stack和queue則都可以在這三種基本容器序列基礎上高效實現, 所以沒有定

原创 boost的pool內存池

參考《boost程序庫開發完全指南》 //pool_func_eg.h #pragma once #include<iostream> #include<boost\pool\pool.hpp> using namespace boo

原创 Error C2662

錯誤提示:錯誤 C2662 “int credit_card::calc_free_days(boost::gregorian::date)”:

原创 c++中min和max函數

包含在c++標準庫中頭文件<algorithm>中,在頭文件<windows.h>中定義了min,max的宏,若在包含<algorithm>的同時包含<windows.h>會導致函數無法使用。 <windows.h>提供了_cpp_min

原创 得到指針指向的數組的長度

1  、定義數組,要給定其長度,也可以用Type a[ ] = {……} 的方式。 在對數組進行操作時,可能需要計算數組長度,方法是:sizeof(數組名)/sizeof(元素類型)   數組int a[4]; sizeof(a)=

原创 ErrorC2664

函數”: 無法將參數 n 從“類型 1”轉換爲“類型 2” 如果創建了某個類的實例,然後嘗試了對用 explicit 關鍵字標記的構造函數進行隱式轉換,則可能會發生此參數轉換問題。有關顯式轉換的詳細信息,請參閱轉換。 如果將臨時對

原创 c++ RAII

在寫C++設計模式——單例模式的時候,在寫到實例銷燬時,設計的GC類是很巧妙的,而這一巧妙的設計就是根據當對象的生命週期結束時會自動調用其析構函數的,而這一巧妙的設計也是有專業的名詞的——RAII。那以下將圍繞RAII,全面的講解RAII

原创 指針

#include<iostream> using namespace std; int main() { int a = 2; int *b = &a; int c = (*b); cout << "address b:" <<

原创 卡特蘭數

簡介 編輯 卡特蘭數又稱卡塔蘭數,英文名Catalan number,是組合數學中一個常出現在各種計數問題中出現的數列。以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)的名字來命名,其前幾項爲 : 1, 1, 2, 5,

原创 memset

目錄 1 函數介紹 2 常見錯誤 3 常見問題 4 程序範例 memset函數介紹 編輯 void *memset(void *s, int ch, size_t n); 函數解釋:將s中前n個字節 (typedef un

原创 shared_ptr不明確

boost的一些庫,比如share_ptr已經被高版本的stl採納了.如果你一塊兒用編譯器當然搞不清你要用那個了.我想你肯定寫了這樣的東西 using namespace std; using namespace tr1; using n

原创 c++運算符重載

 C++中預定義的運算符的操作對象只能是基本數據類型。但實際上,對於許多用戶自定義類型(例如類),也需要類似的運算操作。這時就必須在C++中重新定義這些運算符,賦予已有運算符新的功能,使它能夠用於特定類型執行特定的操作。運算符重載的實質

原创 c++ locale類

原來一篇總結了下 C 標準庫的 setlocale() 用法,這篇講解的是 C++ 標準庫中 locale 類的用法。 參考: cplusplus.com 上關於標準 C++ 中國際化支持的參考: Localization l

原创 make_shared和shared_ptr的區別

 http://www.cnblogs.com/shengjianjun/p/3691928.html 主題 技術 make_shared和shared_ptr的區別 struct A; std::shared_ptr<A> p