原创 進程控制與進程通信編程
進程控制與進程通信編程 作者:宋寶華 1.Linux進程 Linux進程在內存中包含三部分數據:代碼段、堆棧段和數據段。代碼段存放了程序的代碼。代碼段可以爲機器中運行同一程序的數個進程共享。堆棧段存放的是子程序(函數)的
原创 我的第一篇博客文章-----JavaBean應用
本來是用筆記本記下來的,後來發現記在QQ空間或者CSDN博客也不錯,我以後把自己的學習經歷留在這裏,同時也接收大家的提醒,對自己更有益。 1、Tomcat、JAVA環境配置就略過,直接採用MyEclipse建立Web Project工程,
原创 類與結構體的大小
類的大小由其成員變量決定,結構體同樣。請看下面的結果。 #include <iostream>using namespace std; class A1 {public: int a; static b; //靜態變量存放在全
原创 有名管道
mkfifo(建立實名管道)相關函數pipe,popen,open,umask表頭文件#include#include定義函數int mkfifo(const char * pathname,mode_t mode);函數說明mkfifo
原创 數組和指針
天天在看程序,經常在寫程序,對於基本的數組和指針,從來沒有進行深刻的總結過。數組和指針,是程序分配內存的兩種方式,對於不同的情況應該採用不同的策略。一般來說,提倡採用動態分配的方式來處理內存分配,按需分配,那就是用到指針了。但是,當分配的
原创 對象使用完成後
class base { public: base() { cout << "base()"; } ~base() { cout << "~base()"; } }; class subs: public base { pub
原创 倫理
我們知道malloc要和free成對出現,new要和delete成對出現,這樣才安全,假使兩對夫妻將他們拆爲兩對,那麼這拆開的兩對在一起工作時會安全嗎? 所以,我們一定要成對出現,即使我們的貞操觀念很強,倫理上也不符合。
原创 儘量用const和inline而不用#define
#define可以將“表達式”替換“函數”,形式 上完成了函數的功能,但是有些時候會出現問題,這時我們可以使用inline來取代#define。 用#define定義常量時,用const會更安全,因爲#define使用的是預處理器,而co
原创 “throw e”和“throw”
前者會產生臨時對象,然後往上一級跑出異常。 C++的異常匹配規格是根據對象的靜態類型進行匹配的
原创 Android初試
第1章 Android應用程序開發步驟 通過邊學習邊記錄的方式瞭解Android開發應用程序的方法。 1.1 建立界面 建立界面主要是通過編寫XML文檔。 1.1.1 應用程序的主界面爲res/layout/main.xml ma
原创 父類的構造函數中最好不要調用虛函數
class Base{ public: int a; Base(){print();}; virtual ~Base(){ g_iCount += 1;} public: int getA(){} void setA(int i
原创 友元和繼承訪問類成員的方式的區別
class dog{ public: void shout(){cout<<"dog"<<endl;} friend class pig; dog(){dogyear=0;} ~dog(){} protected: int do
原创 析構函數可以是純虛函數
雖然抽象類的析構函數可以是純虛函數,但要實例化其派生類對象,仍必須提供抽象基類中析構函數的函數體。 抽象類的純虛函數的實現可以由自身給出,也可以由派生類給出. 錯了,除了析構函數外,其他函數都不行,必須要在派生類中進行實現。
原创 父類的構造函數中不能調用純虛函數,同樣在析構函數中不能調用純虛函數
#include <iostream> #include <string> using namespace std; class CParent { public: CParent() {} virtual ~CPar
原创 函數模板 缺省情況下是內聯的。
在類的聲明時,其成員函數的函數體寫在類的結構體中時,認爲其成員函數爲默認的內聯函數。其他的默認都不是內聯函數。