原创 Linux學習之gdb調試

一.gdb常用命令: 命令 描述 backtrace(或bt) 查看各級函數調用及參數 finish 連續運行到當前函數返回爲止,然後停下來等待命令 frame(或f) 幀編號 選擇棧幀 info(或i) locals 查看當前棧幀局部變

原创 算法之路(三)——BFS

最近由於要忙論文開題的事,還有實習工作也比較忙,所以這個系列的博客好久沒有更新了。 BFS是一種基於“隊列”這種數據結構的搜索方式,特點是由一個狀態拓展出很多狀態,然後再由此擴展,直到找到目標狀態或者隊列中頭尾指針相遇,即隊列中所有狀態都

原创 C語言函數指針實現多態特性

1、函數指針 函數指針是指向函數的指針變量,本質上是一個指針,類似於int*,只不過它是指向一個函數的入口地址。有了指向函數的指針變量後,就可以用該指針變量調用函數,就如同用指針變量引用其他類型變量一樣。 指針函數一般有兩個作用:調用函數

原创 C++指針delete後需要做

C++標準規定:delete空指針是合法的,沒有副作用。所以我們一般在delete後就以爲萬事大吉了,其實這是不安全的。   我們在Delete指針後賦值爲NULL或0是個好習慣。對一個非空指針delete後,若沒有賦NULL,若再次de

原创 Ubuntu14.04 + opencv3.2.0 + contrib modules 配置

opencv3.X版本的編譯和之前有些區別,它將一些不穩定或者說在開發中的模塊都放到contrib modules裏面了,用戶視自己的需求去編譯.這篇文章記錄了Ubuntu14.04 + opencv3.2.0 + contrib mod

原创 C++中類成員對象與指針的區別

C++編程過程中,在一個類的數據成員是一個類時,定義這個成員變量爲對象還是指針是有講究的。 在C++中, ClassTest objTest;就已經構造了對象,分配了空間 而在C#、Java中, ClassTest objTest;只是聲

原创 C++之Map

  看到一篇介紹map很不錯的文章,轉載一下,感謝原作者的整理。轉載地址:http://blog.csdn.net/shuzfan/article/details/53115922 一 聲明二 插入操作 1 使用 進行單個插入1

原创 算法之路(一)

寫在前面: 好久沒有複習算法這部分的知識了,以前也養成了不好的習慣,眼高手低,理解了算法的原理,不怎麼去寫僞代碼,也很少真的去編譯一下代碼。以後要改正這個不好的習慣。從今天開始,把以前學習過的算法編譯一遍,當做複習。 注:我編譯代碼的環

原创 我的第一個Windows程序-----HelloWindow

/*-----------------------------------------------------------------------------------       HelloWin.cpp -- Displays 

原创 從C++指針定義字符串和數組定義字符串區別到C++堆和棧區別

先以一個前輩寫的經典開頭: //main.cpp      int   a   =   0;   全局初始化區      char   *p1;   全局未初始化區      main()      {      int   b;   棧

原创 python模塊之subprocess

前言:subprocess 模塊簡介subprocess最早是在2.4版本中引入的。 subprocess模塊用來生成子進程,並可以通過管道連接它們的輸入/輸出/錯誤,以及獲得它們的返回值。 它用來代替多箇舊模塊和函數: os.syste

原创 C++單例模式原理與實現

今天有一個同學問我單例模式的實現方式,就順手寫篇文章記錄一下。 單例模式,可以說設計模式中最常應用的一種模式了,據說也是面試官最喜歡的題目。但是如果沒有學過設計模式的人,可能不會想到要去應用單例模式,面對單例模式適用的情況,可能會優先考慮

原创 C/C++關鍵字之extern

先來看一段代碼,這段代碼是jni自動生成的代碼。 /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class Te

原创 Linux學習之g++編譯命令

有關gcc和g++的區別我就不贅述了,我個人更喜歡用g++來編譯鏈接c++程序,因爲它檢查規則更嚴格。 [介紹]gcc and g++分別是gnu的c & c++編譯器 gcc/g++在執行編譯工作的時候,總共需要4步1.預處理,生成.i

原创 算法之路(二)

上一篇寫了DFS的遞歸方式實現,這次寫一下非遞歸實現。 原理其實非常簡單:我用棧去實現的,棧實現的基本思路是將一個節點所有未被訪問的“鄰居”(即一層層鄰居節點)壓入棧中“待用”,然後圍繞頂部節點猛攻,每個節點訪問 後被彈出。下面是實現的代