原创 C++中的默認函數與default和delete用法

一、類中的默認函數  a.類中默認的成員函數   1.默認構造函數   2.默認析構函數   3.拷貝構造函數   4.拷貝賦值函數   5.移動構造函數   6.移動拷貝函數  b.類中自定義的操作符函數   1.operator  

原创 vim的visual模式

在可視化模式下,可以對一個文本塊的整體進行操作。例如,首先高亮選中一部分文本,然後用d命令刪除這個文本塊。可視化模式的好處在於,你可以在做改動之前,就看到操作將影響的文本。可視化模式可以分爲以下三種: 用v命令進入的字符可視化模式(Ch

原创 do...while(0)的妙用

在C++中,有三種類型的循環語句:for, while, 和do...while, 但是在一般應用中作循環時, 我們可能用for和while要多一些,do...while相對不受重視。     但是,最近

原创 c++11 內存模型解讀

關於亂序 首先需要明確一個普遍存在,但卻未必人人都注意到的事實:程序並不總是按照源碼中的順序被執行的,此謂之亂序,亂序產生的原因可能有好幾種: 編譯器出於優化的目的,在編譯階段將源碼的順序進行交換。程序執行期間,指令流水被 cpu

原创 main函數的三個參數

main函數的前兩個參數交常用,第三個參數參見: http://blog.csdn.net/ixsea/article/details/6686308 下面我寫了代碼來驗證每個參數: #include<stdio.h> int mai

原创 ubuntu12.04-32位,安裝KLEE及使用工具過程中遇到的問題

1.安裝klee出現的問題:        前面都沒有錯,最後make check時出現:make[1]: ***[check-local] Error 1 網上查說make check運行時可能需要root權限。不對,make chec

原创 ubuntu下安裝apache http server

在ubuntu下。下載了apache http server直接編譯安裝的話,configure時會出現“APR not found ”的錯誤,是因爲其所依賴的軟件包沒有安裝。安裝過程一步步理清依賴關係,正確使用命令行選項,安裝apac

原创 C++順序容器的capacity和reserve方法

    verctor容器這樣的順序容器在內存的存儲空間是連續的,而其後面的存儲空間可能被其他數據佔用,當在需要添加新的元素時,vector就需要重新分配存儲空間以連續存儲原來元素和新添加的元素。     爲了使vector實現快速的內

原创 關於C語言中宏定義的高級運用

1、# (stringizing)字符串化操作符。 其作用是:將宏定義中的傳入參數名轉換成用一對雙引號括起來參數名字符串。其只能用於有傳入參數的宏定義中,且必須置於宏定義體中的參數名前。 如: #define example(i

原创 ubuntu下查看源代碼工具:ctags+taglist,另加understand

1.ctags直接apt-get就行,安裝完後在需要的目錄下執行: ctags -R* 目的是建立個源代碼文件的索引。然後就可以實現各函數間的跳轉了。 2.taglist需要自己下載,下載完了正常安裝,它是聯合vim使用的,因此可以在vi

原创 左值表達式 右值表達式(C/C++)

何謂對象? 這裏所說的對象是廣義上的,而不僅僅是狹義的類/對象(class/object)。 在C/C++中,所謂的對象指的是執行環境中一塊存儲區域(a region of storage),該存儲區域中的內容則代表了該對象的值(

原创 ubuntu下安裝KLEE方法

參考KLEE官網主頁http://klee.github.io/klee/‘ 首先安裝llvm-gcc,官網上說KLEE運用的系統及CPU最好是Linux x86-64,而我的筆記本是i686(即x86-32)的,所以不是最好的,官網介紹

原创 迭代器的算數運算

支持隨機訪問的迭代器纔可以使用:iter+n,iter-n,iter-iter的操作。如vector。 list和map這類不支持以上三種操作,因爲它們不支持隨機訪問,因此它們只支持自增和自減操作。 那麼

原创 ubuntu12.04-64位系統上安裝s2e過程

S2E工具適用平臺:      host OS: 64位ubuntu12.04或者64位Mac OS      guest OS:To run S2E, you need a QEMU-compatible virtual machine

原创 ubuntu下掛載win7共享目錄

PS:此方法可用於局域網一臺ubuntu的主機和win7的主機之間共享文件夾。也可用於ubuntu下虛擬機中系統與另一win7主機共享文件夾。非常方便實用! 1.在win7下設置共享目錄: 在d盤新建一個文件夾share,右鍵選擇設