Time of Update: 2018-12-04
1 STL的container分為兩種類型sequence :元素儲存的位置只和插入的順序有關,和本身的值無關associative:元素儲存的位置只和本身的值有關,和插入順序無關(對於這樣的容器是不能作為Manipulation algorithm(修改值或位置)的destination,因為如果我們修改了其中的值或位置,那麼容器就不是排序的了,這樣對於尋找而言將是很費時的。)如所示,左邊為sequence container,右邊為associative
Time of Update: 2018-12-04
盡量調用容器內建的函數,然後才是演算法,因為內建函式的效能要高很多remove: 並不刪除空間大小,刪掉給定的值後,後面的值往前移,例如coll裡面的資料為 1 3 5 6 3 7 8pos = remove(coll.begin(), coll.end(), 3)之後為 1 5 6 7 8 7 8,但這時remove返回的pos是在第一個8之後,也就是有效資料之後;所以最好記下pos,然後我們可以遍曆有效資料,或刪除無效資料,如 coll.erase(remove(coll.begin(),
Time of Update: 2018-12-04
Q:以下兩種定義方式,在進行map.clear()的時候,記憶體釋放上有啥不同? typedef map<CString,CFileAttribute> MAPStr2FileAttr; typedef map<CString,CFileAttribute *> MAPStr2FileAttr; A: clear()相當於earse(m.begin(), m.end()); 若定義的map的儲存物件是一個類對象:
Time of Update: 2018-12-04
在一些產品的原始碼中,經常會發現有這樣的語句,srand(unsigned(time(NULL)));為什麼要這樣做呢,其實很簡單。1. time()函數表示返回1970-1-1 00:00:00 到目前時間的秒數,而time(NULL)表示擷取一個時間,準確的說,擷取一個指標的地址。2. srand()函數是產生隨機數種子的。在產生隨機數 rand()被調用的時候,他會查看:如果使用者之前調用過 srand(seed)的話,他會重新調用一遍
Time of Update: 2018-12-04
SDU(service Data Unit):服務資料單元,又叫業務資料單元,是指定層的使用者服務的資料集,傳送到接收方的時候同一協議層時資料沒有發生變化,即業務部分,然後發給下層之後,下層將其封裝在PDU中發送出去。服務資料單元是從高層協議來的資訊單元傳送到低層協議。第N層服務資料單元SDU,和上一層的協議資料單元(PDU)是一一對應的。根據協議資料單元的資料的不同,送到接收端的指定層。PDU(N) = SDU(N - 1)SDU(N) = PDU(N + 1)PDU:
Time of Update: 2018-12-04
vmstat介紹.Procs -r: 啟動並執行和等待(CPU時間片)啟動並執行進程數,這個值也可以判斷是否需要增加CPU(長期大於1)-b: 處於不可中斷狀態的進程數,常見的情況是由I/O引起的。MEMORY-swap:切換到交換記憶體上的記憶體(預設以KB為單位) 如果SWAP的值不為0,或者還比較大,比如超過100M了,但是SI,SO的值長期為0,這種情況我們可以不用擔心,不會影響系統效能。-free:p閒置實體記憶體- buff:作為buffer
Time of Update: 2018-12-04
這幾天需要調試X-server的東西,需要在遠端機器romote上進行圖形介面的展示。關於X-server的東西我就不說了,畢竟如果你已經遇到了這個錯誤,說明你已經有所瞭解了。假定機器A是用戶端,機器B是服務端(IP地址為:168.12.89.8)。下面是具體的配置步驟:1。開啟用戶端的終端,進行環境變數的配置,使用如下命令:export DISPLAY=168.12.89.8:0.02。開啟服務端的終端,進行一系列的配置。首先執行xhost
Time of Update: 2018-12-04
比較常見的作用是,定義靜態變數.目的是將此值存入棧內,每一次調用都是使用上次的值. 另一個作用,就是和extern相對應的,static修飾的函數/變數表示只能用在聲明範圍內的檔案裡面,而不能被外界引用; 這樣也避免了函數定義中命名衝突的情況. 比如,定義 int read();程式肯定會報錯,因為read()是庫函數;如果定義成 static int read();則不會報錯了! 另二者定義的由來: static 對應 auto; 但是我們平時寫程式都會把auto省略的!
Time of Update: 2018-12-04
老闆一直說裝svn,一直忙沒顧上,今天研究了下,環境搭建完了,跟大家分享下經驗首先當然是下載軟體了Apache:http://httpd.apache.org/Subversion:http://subversion.tigris.org/用戶端:tortoiseSVN
Time of Update: 2018-12-04
有時候經常在命令列下執行命令每次開啟一個新的命令列視窗預設的目前的目錄都是C:\Documents and Settings\$UserName,這樣在執行命令之前都要切換目錄,很麻煩所以我們先來解決這個問題。在“開始”-“運行”中輸入“regedit”開啟註冊表。找到\HKEY_CLASSES_ROOT\Folder\shell,如果沒有shell,可以在Folder下建立一個名為shell的鍵,在shell下建立一個名為“命令列(Command
Time of Update: 2018-12-04
查看數組中各元素的值比如有一個char * ptr;我們要查看其中10個元素的值可以這樣 ptr, 10;如果要顯示16進位,只要在“值”欄點擊右鍵選擇16進位顯示,這樣到“名稱”點擊ptr展開就可以看到個元素的值了 快速鍵F5: 開始調試Shift+F5: 停止調試F10: 調試到下一句,這裡是單步跟蹤 F11: 調試到下一句,跟進函數內部Shift+F11: 從當前函數中跳出Ctrl+F10: 調試到游標所在位置F9: 設定(取消)斷點Alt+F9:
Time of Update: 2018-12-04
幾種壓縮演算法原理介紹 http://www.cppblog.com/windcsn/archive/2006/01/06/2476.aspx數字壓縮編碼技術 http://cs.nju.edu.cn/yangxc/dcc2003.files/jszc-sub/jszc-043.html 無損壓縮比較常見和有效是:LZW,霍夫曼和算術編碼 LZW演算法:參考文章LZW資料壓縮演算法的原理分析 http://www.cnblogs.com/jillzhang/archive/2006/11/0
Time of Update: 2018-12-04
Blockly一種在網頁上啟動並執行圖形化程式設計語言。使用者以拖拽拼圖的方式開發出應用程式。不需要任何的代碼編寫。效果示範:走迷宮 – 使用Blockly語言破解迷宮路徑。代碼轉換 – 把Blockly代碼轉換成JavaScript, Dart, Python 或 XML 代碼。RTL –
Time of Update: 2018-12-04
因為研究需要,仔細看了下代碼,看看有什麼可以利用的地方。整體來說Kanade-Lucas-Tomasi Feature
Time of Update: 2018-12-04
我寫了一個伺服器程式, 在Linux下測試時, 總是莫名退出. 最後跟蹤到是write調用導致退出. 用gdb執行程式, 退出時提示"Broken pipe".最後問題確定為, 對一個對端已經關閉的socket調用兩次write, 第二次將會產生SIGPIPE訊號, 該訊號預設結束進程.具體的分析可以結合TCP的"四次握手"關閉. TCP是全雙工系統的通道, 可以看作兩條單工通道, TCP串連兩端的兩個端點各負責一條. 當對端調用close時, 雖然本意是關閉整個兩條通道,
Time of Update: 2018-12-04
Introduction:There are three key steps in video analysis: detection of interesting moving objects, tracking of such this object from frame to frame, and analysis of object tracks to recognize their behavior. There, the use of object tracking is
Time of Update: 2018-12-04
如果要列出目前比較火的創業公司的話,趣味編程網站Codecademy絕對算是其中之一。Codecademy旨在為人們提供一種簡單有趣的編程學習方式。公司在新一輪融資中剛獲得1000萬美元的融資,Index Ventures領導了本輪融資,Kleiner Perkins和Union Square
Time of Update: 2018-12-04
解釋一下Linux上free命令的輸出。 下面是free的運行結果,一共有4行。為了方便說明,我加上了列號。這樣可以把free的輸出看成一個二維數組FO(Free Output)。例如:FO[2][1] = 24677460FO[3][2] = 10321516 1 2 3 4 5 61 total used
Time of Update: 2018-12-04
TCMalloc (google-perftools) 是用於最佳化C++寫的多線程應用,比glibc 2.3的malloc快。這個模組可以用來讓MySQL在高並發下記憶體佔用更加穩定。下載二個軟體地址:google-perftools:http://code.google.com/p/google-perftools/libunwind:http://download.savannah.gnu.org/releases/libunwind/安裝步驟:1.64位作業系統請先安裝
Time of Update: 2018-12-04
第一次參加國際會議並做oral。挺緊張,因為畢竟不是用母語進行。在小木蟲上看了很多東西(大家可以借鑒下)但我想告訴大家的是不管你ppt做的多麼炫,多麼多最最重要的是你需要把你的演算法和你的創新點講清楚。哪怕是你的演算法或者formulation多麼的簡單,但一定要講清楚小木蟲上說不要按照paper的順序來講,但我認為還是應該按照這個順利來說,只是不要用很多的forml