原创 Swicth拆分方法

1:表驅動 2:設計模式(工廠模式/狀態模式等) 3:枚舉 記錄一個好的string無法進行switch的好方法,就是轉換爲整數,在編譯期間分配值,switch...case在代碼整潔度和效率上上明顯優於if/else

原创 Jsoncpp使用記錄

1:問題 double類型的會損失精度 序列化和反序列化很麻煩,網上有一個x2struct,依賴於騰訊的RapidJson 2:流程 Json::Value value;//亦可是array Json::FaseWrite/Style

原创 static方法

1 : static成員函數和普通成員函數的本質區別 無this指針(實質上爲對象的首地址,且成員都默認帶有this指針) 2: 用途: 1)對方法進行分類,調用時以類似於命名空間的形式調用 class opt{ public: s

原创 堆/棧/靜態存儲區

棧:【函數調用】 函數中形參和局部變量存儲在棧上。 棧在程序中用於維護函數調用的上下文,保存了一個函數調用所需要維護的信息。 函數調用棧上的數據,當函數調用時,對應的棧空間在函數返回前是專用的(即此時不能被其餘函數訪問),在函數調用結

原创 RSA

https://blog.csdn.net/dbs1215/article/details/48953589

原创 linux下gdb調試

一:錯誤容易復現,使用gdb 1:控制類命令: b(break):添加斷點【b main.cpp:12】/【b test】/【b 12】【info break顯示斷點信息】【delete break 編號】 r(run):重頭開始運行

原创 C++11--function

1:function作用:提供函數統一的接口,是可調用函數的包裝器, 函數/函數指針/lambda/僞函數; 2:傳統多態實現 #include <iostream> #include <functional> using names

原创 C++11nullptr/ovrride/delete/default

1:override:將檢查交給編譯器去辦,防止那種出現錯誤但是不報錯; 2:final:兩個作用:1)阻止了從類繼承; 2)阻止一個虛函數的覆寫; 1) class A final{ }; class B:public A{ };

原创 C++11--enum/class/struct/assert

1:枚舉enum enum struct XX:char{ ONE, TWo }; enum class NUM:long long{ ONE, TWO }; XX n=XX::ONE; cout<<static_cast

原创 C++11-range-base for

int arr[10]={1,2,3,4,5,6,7,8,9,10}; for(int i;i<sizeof(arr)/sizeof(*arr);i++){ cout<<arr[i]; } //簡便方法 for(auto &i :

原创 C++11簡介

1:C++11 MordernC++ cocos2d:遊戲開發平臺 crossApp:基於事件的跨平臺

原创 C++11----bind

1:實例 #include <iostream> #include <functional> using namespace std; int add(int x,int y){ return x+y; } int dv(int x

原创 C++11-initialization list

1:常規初始化 int arr[]={1,2}; vector<int> v; vector<int> v(2); vector<int> v(2,101); vector<int> (varr,arr+2); 拷貝構造等 //m

原创 boost的scoped_ptr

1:早前,auto_ptr可以達到智能指針的作用,但是在拷貝構造或者賦值的時候就會失去權限 2:scoped_ptr禁止用戶拷貝構造和賦值 #include <boost/scoped_ptr.hpp> scoped_ptr<A> a

原创 boost簡化

// int arr[5]={1,2,3,4,5}; for(int i=1;i<=5;i++){ cout<<arr[i]<<endl; } //C++11簡潔方法 for(int &e:arr){ cout<<e<<endl;