原创 c++中的 extern "C"

比如說你用C 開發了一個DLL 庫,爲了能夠讓C ++語言也能夠調用你的DLL 輸出(Export) 的函數,你需要用extern “C” 來強制編譯器不要修改你的函數名。 通常,在C 語言的頭文件中經常可以看到類似下面這種形式的

原创 C++中typeid的使用

RTTI(Run-TimeType Information, 運行時類型信息),它提供了運行時確定對象類型的方法。在C++中,爲了支持RTTI提供了兩個操作符:dynamic_cast和typeid。 The typeid operat

原创 計數排序詳解:O(n)

計數排序基本思路爲: 我們希望能線性的時間複雜度排序,如果一個一個比較,顯然是不實際的,書上也在決策樹模型中論證了,比較排序的情況爲nlogn的複雜度。 既然不能一個一個比較,我們想到一個辦法,就是如果我在排序的時候就知道他的位

原创 Socket編程之htons(), ntohl(), ntohs(),htons() 函數

  在C/C++寫網絡程序的時候,往往會遇到字節的網絡順序和主機順序的問題。這是就可能用到htons(), ntohl(), ntohs(),htons()這4個函數。 網絡字節順序與本地字節順序之間的轉換函數: hto

原创 C++ dynamic_cast和static_cast

C語言中可以對內置類型進行強制轉換,但是這樣做不是很安全,在C++標準中,提供了關於類型層次轉換中的兩個關鍵字static_cast和dynamic_cast。 一、static_cast關鍵字(編譯時類型檢查) 用法:stati

原创 C++構造函數與析構函數能否爲虛函數

結果: 構造函數不能聲明爲虛函數,析構函數可以聲明爲虛函數,而且有時是必須聲明爲虛函數。不建議在構造函數和析構函數裏面調用虛函數。 引用 To construct an object, a constructor needs

原创 grep命令使用-正則表達式

原文地址:http://blog.sina.com.cn/s/blog_476d8cf30100tmcn.html 1. grep簡介   grep (global search regular expression_r(RE)

原创 C++ 虛函數與繼承的一個例子

通過隱含的this指針,也可以實現運行時多態: #include <iostream> class A { protected: int m_data; public: A(int data = 0)

原创 C++函數重載

C++允許在同一範圍中聲明幾個功能類似的同名函數,但是這些同名函數的形式參數(指參數的個數、類型或者順序)必須不同,即函數的參數列表不同,也就是說用同一個運算符完成不同的運算功能。這就是重載函數。重載函數常用來實現功能類似而所處理

原创 C++智能指針記錄

導讀 最近在補看《C++ Primer》,這的確是本好書,其中關於智能指針的章節解析的非常清晰,一解我以前的多處困惑。C++面試過程中,很多面試官都喜歡問智能指針相關的問題,比如你知道哪些智能指針?shared_ptr的設計原理是

原创 Ubuntu14.04下搜狗輸入法安裝

         尚不評價ubuntu下自帶的中文輸入法如何,在windows下用慣了搜狗,也深知其強大之處。用了幾年的ubuntu,期間裝過幾次系統所以也裝過幾次搜狗。當然有成功也有失敗的:成功情況都是失敗在前,然後在某次開機

原创 爲什麼美國程序員工作比中國程序員工作輕鬆、加班少?

難道美國的程序員就不加班嗎?他們就一天八小時工作,還想來就來,想走就走?非工作時間完全找不到人?還有什麼食物飲料都免費提供? 讓我來告訴你真實的情況吧,還…真是這樣的。 加班文化應該是中美兩地最明顯的不同了,形成這種差異的原因不是一兩

原创 如何有效閱讀《C++ Primer》那麼厚的書

我就是那種正面剛大部頭的選手,這些年讀過的工作相關的“磚頭”大概有《c++primer》,《Windows核心編程》,《算法導論》,《unix網絡編程》,《STL源碼剖析》等等吧,投資、社科等類型的與本題無關就不一一列舉。在閱讀方面我

原创 深入理解非阻塞同步IO和非阻塞異步IO

這兩篇文章分析了Linux下的5種IO模型 http://blog.csdn.net/historyasamirror/article/details/5778378 http://blog.csdn.net/hguisu/art

原创 進程內存佈局

一個由 C/C++編譯的程序佔用的內存(memory)分爲以下幾個部分: 1. 程序代碼區(.text)  -      存放函數體的二進制代碼  。 2. 文字常量區(.rodata)     -      常量字符串就是放在這裏的,