原创 頭文件string與string.h的區別

今天再敲代碼時遇到個問題,VS提示我是string.h還是string,回想起原來遇到過此類問題但是忘記了。網上搜了一下,看到了一篇博客,特此轉來。雖然只是小小的問題,但弄不明白,心裏還是有點不舒服,對吧。 原文地址 http://ww

原创 Effective C++ 條款7——爲多態基類聲明virtual析構函數

本章節就在強調一件事情,如果一個類是基類,且用於多態,那麼該base class的析構函數,要寫成virtual 的。如果其不是base class 或不用於多態就不要用virtual析構了。 注:多態就是基類指針指向子類對象。 可這是爲

原创 C++的多態如何在編譯和運行期實現

 對於多態的概念一直模模糊糊,看到這個不錯的文章,不廢話,必須保留。 作者 陶輝。CSDN上的專家博客 多態是什麼?簡單來說,就是某段程序調用了一個API接口,但是這個API有許多種實現,根據上下文的不同,調用這段API的程序,會調用

原创 看unix高級編程時遇到apue.h找不到的問題

 今有人問我怎麼配置apue.h頭文件,我一下子忘記了。囧啊。特此轉載此文,簡單易懂,不用編譯。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

原创 Effective C++條款8,9析構中的異常和虛擬函數

 條款8:別讓異常逃離析構函數 析構函數的作用就是清理資源等後續工作,一旦這裏發生異常就會產生嚴重後果。所以在編寫析構函數時要格外小心。 如 class Widget{ public: ... ~Widget(){...} }; vo

原创 Effective C++ 條款4——確定對象被使用前已先被初始化

 條款4——確定對象被使用前已先被初始化    終於連上網了。過了幾天沒有網的日子還可以....現在手頭有本More Effective C++打算邊翻翻看這本書,邊寫日誌複習 Effective C++     這條規矩我想人人都知道,

原创 Effective C++ 條款6——若不想使用編譯器自動生成的函數,就該明確拒絕

拒絕方法 上一節中說編譯器爲我們合成課一些函數,他們不僅僅功能簡陋,甚至有時是我們所明令禁止的。比如說複製,在業務邏輯上,有些先天獨一無二的東西是不允許複製的。 對於其他功能,只要我們在類中不去聲明定義,那麼自然不會有此功能,但對於cop

原创 Effective C++ 條款5——瞭解C++默默編寫並調用哪些函數

條款5——瞭解C++默默編寫並調用哪些函數 關於C++,經常有種聲音就是編譯器揹着程序員做了太多的事情。比如說今天要說的default構造函數、copy構造函數和析構函數。 當我們寫下一個類時 class Empty{ }; 那麼我們的編

原创 C/C++中extern關鍵字詳解 (轉)

原文地址:  http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 前幾日遇到的問題,發現這個文章解釋的很明白,特此拷

原创 error C1189:#error:This file requires _WIN32_WINNT to be #defined at least to 0x0501

 將vs2003的工程升級後放在vs2010產生的問題, fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0

原创 Effective C++ 學習筆記1

這本Effective C++在我的手邊好久了,誒,但怎怪自己懶惰,令其至於黑暗之中。前幾日偶然翻起發現頗多金玉良言。特此將看書時的筆記搬到博客中,其實也就是書中內容的概括加自己的理解和牢騷。主要目的一是爲了加深記憶,二是爲了分享心得。

原创 Unix環境高級編程 實例4-7

在學習APUE,本着讀書動手雙管齊下的原則。一直在親手實現書中的各個實例和習題。今天在4-7:遞歸降序遍歷目錄層次結構,並按文件類型計數的實例中一直報一個錯誤  undefined reference to `path_alloc'。這就

原创 關於dll的一些事

 前一陣 有點忙。斷了寫博客的習慣。這習慣斷了就要養回來。。。。。最近在搞DLL,以下是轉載內容。。 轉載地址:http://www.aichengxu.com/article/C++/15300_4.html 另外再推薦一個日誌,對

原创 type用法小結及與define的區別

轉載來的東西,解決我的一些疑惑。節選自兩個博文。 首先,四個用途 用途一: 定義一種類型的別名,而不只是簡單的宏替換。可以用作同時聲明指針型的多個對象。比如: char* pa, pb; // 這多數不符合我們的意圖,它只聲明瞭一個

原创 編寫一個類似cp(1)的程序。複製空洞,不寫0------轉

  《unix環境高級環境編程》4.6 網上找的程序,轉來。方便以後回顧。看了一遍,覺得是不是應該把標準輸入和輸出改成文件名好點呢,也就是argv[1]和argv[2],然後再利用open獲得其文件描述符。 /* * filenam