Time of Update: 2017-02-27
327 - Evaluating Simple C ExpressionsTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=104&page=show_problem&problem=263The task in this problem is to evaluate a sequence of simple
Time of Update: 2017-02-27
在現代進階語言中,大多數語言都有對應處理異常的關鍵字,如:C++中的try/catch,Delphi中的Try/Except/Finally,這些關鍵字都被編譯器直接的支援。但是,當Symbian OS
Time of Update: 2017-02-27
背景進行Windows Mobile的應用的開發,很多時候需要對資料庫進行訪問,儲存和讀取。可是微軟沒有為Native C++提供象ADO.NET下的封裝,所以我自己封裝了一個SqlCe訪問類。簡述本文講述在Windows Mobile和Wince下,Native C++訪問SqlCe的封裝類的實現。由於微軟沒有為C++提供像ADO.NET的封裝,為Native
Time of Update: 2017-02-27
單例模式,顧名思義,就是只能由一個執行個體,那麼我們就必須保證該類不能被複製。該類不能被公開的創造 。那麼對於C++來說,他的建構函式,拷貝建構函式和他的賦值函數都不能被公開調用。但對於該私人的構 造函數的構造時機上來說也可以分兩種情況來構造:只有當需要改類的時候去構造(即為懶漢模式)在程式開始 之前我就先構造好,你到時候直接用就可(即為餓漢模式)那麼我分別來說說這兩種模式:懶漢模式,靜態
Time of Update: 2017-02-27
什麼是結構體?簡單的來說,結構體就是一個可以包含不同資料類型的一個結構,它是一種可以自己定義的資料類型,它的特點和數組主要有兩點不同,首先結構體可以在一個結構中聲明不同的資料類型,第二相同結構的結構體變數是可以相互賦值的,而數組是做不到的,因為數組是單一資料類型的資料集合,它本身不是資料類型(而結構體是),數組名稱是常量指標,所以不可以做為左值進行運算,所以數組之間就不能通過數組名稱相互複製了,即使資料類型和數組大小完全相同。定義結構體使用struct修飾符,例如:struct
Time of Update: 2017-02-27
函數存放在記憶體的代碼地區內,它們同樣有地址,我們如何能獲得函數的地址呢?如果我們有一個int test(int a)的函數,那麼,它的地址就是函數的名字,這一點如同數組一樣,數組的名字就是數組的起始地址。定義一個指向函數的指標用如下的形式,以上面的test()為例:int (*fp)(int a);//這裡就定義了一個指向函數的指標函數指標不能絕對不能指向不同類型,或者是帶不同形參的函數,在定義函數指標的時候我們很容易犯如下的錯誤。int *fp(int
Time of Update: 2017-02-27
很早以前的dos應用程式中,我們經常會用命令列參數執行應用程式例如:copy c:\1.txt d:\在c/c++中,命令列參數的傳遞是利用main進行形參傳遞實現的前面的教程中我們對面都進行了void main()或者是void main(void)的定義,這表示main不返回任何類型,和main不帶有任何參數,但在缺剩狀態下mian()這樣形式下,形式參數一直是存在在棧空間內的只是隱藏了起來。為了實現命令列參數我們將使用main(int argc,char*
Time of Update: 2017-02-27
應用程式分配記憶體的方法,對程式的執行效能有著深刻的影響。目前,通用的記憶體配置方法本質上已非常高效,但仍有改進的空間。記憶體配置,不可一層不變今天,對絕大多數程式來說,通用的記憶體配置方法--此處指代分配算符(Allocator:即malloc或new),已達到了理想的速度及滿足了低片段率的要求,然而,在記憶體配置領域,一丁點的資訊都值得探討很久,某些特定程式關於分配模式的資訊,將有助於實現專門的分配算符,可顯著地提高大多數高效能要求程式的效能底線。有時,當通用記憶體配置算符平均耗費幾百個刻度
Time of Update: 2017-02-27
我們知道,類的私人成員在類的外部是不能被訪問的。例如有下面的這個簡單的類:class ClxECS{private:int iPrivate;};那麼下面的這個函數是不能通過編譯的: void ECS_test(){ClxECS lx;lx.iPrivate = 13; cout << lx.iPrivate << endl;}但是,我們並不是沒有辦法來訪問類的私人成員。其實,方法很簡單,只要在類的聲明前面加上如下一行代碼就行了:#define private
Time of Update: 2017-02-27
由於這段時間較忙,自從上次我發布了一個供初學者學習的“MFC”程式後,就沒怎麼寫文章了。這段時間在忙新的項目,項目邏輯還算複雜,用了好多有閃光點的技術,下面我要討論的是閃光點之一:在C++中實現C#的delegate機制。用過C#的朋友都覺得C#的確是個好語言,但有時由於特殊需要,不得不用C++,在C++中要想實現C#中的Thread等也是可行的,不過代碼要稍複雜。以例子來說明:class Sdk{public: void
Time of Update: 2017-02-27
(四) 儲存格的操作儲存格的操作實際上就是對範圍(Range)的操作。一般的程式碼片段如下:RangePtr r;r=EWS4->get_Range(V("a1"), V("a1"));r->set_Value(V("Species No"));所以,對儲存格內容的操作實際就是先獲得一個要操作的範圍(Range),然後再set_Value的過程。和資料庫連接並不很困難。將資料庫中的資料寫到Excel
Time of Update: 2017-02-27
一、用控制項還是用OLEAutomation?這個問題應該說很常見。我也在任何可能的情況下堅持我的主張:用BCB 6提供的Server控制群組。如果你是用Delphi 6/7版本開發,那麼用Delphi提供的Server控制群組。這樣做有什麼好處?我個人認為至少有如下兩個:第一,維護結構化+OO的程式設計風格。例如:ExcelApplication1->set_DisplayAlerts(0,false);ExcelApplication1->Quit();又如:int
Time of Update: 2017-02-27
使編譯器以及作業系統從正在建立的應用中榨取更高效能的關鍵在於提供充足的有關代碼意圖的資訊。在充分瞭解這個代碼意圖實現的功能等資訊的情況下,就有可能將代碼在編譯時間和運行時的並行輸送量最大化,令開發人員可以將更多精力放在他們所關注的商業領域的問題,將重量級的多核多處理器的任務計劃交託給編譯器,執行階段程式庫以及作業系統中的基礎設施代碼來處理。迴圈函數是很重要的一個環節,因為在所有可用的硬體資源中,被分離的迴圈中的各個部分在一般情況下能夠提供更高的應用效能。考慮這樣一個小情況:迭代選定組合中的全部元
Time of Update: 2017-02-27
main.cpp:#include <iostream>#include <exception>using namespace std;class Test{public:string name;long id;bool pass;public:void getUser(){pass=false;while(pass==false){try{pass=true;cout<<"Input your
Time of Update: 2017-02-27
最近開始認真地再學一下C++的編程,陸續會有一些筆記整理出來。今天要講的是,C++程式中,方法之間調用的一個需要注意的地方例如,我們有一個方法int maxvalue(int a,int b,int c){if(a<b) a=b;if(a<c) a=c;return a;}我們需要在另外一個方法裡面調用它int main(){int a=5,b=8,c=10;cout<< maxvalue(a,b,c);return
Time of Update: 2017-02-27
在VDSP下編譯mm/filemap.c時,發生了一個VDSP編譯器錯誤:../../mm/filemap.c At end of source: : internal error: Uncaught exception Assertion failed raisedat ../../../bril/optimiser/dominators.c:910 (in passcleanup_scalar_stores_nonopt during compilation
Time of Update: 2017-02-27
在編譯arch/blackfin/kernel/reboot.c時有兩個語法錯誤:../../arch/blackfin/kernel/reboot.c [Error ea5004] "c:/temp/acc0a84d6e7000/acc0a84d6e7001.s":94 Syntax Error in : .Lfoo: NOP; syntax error is at or near text '.Lfoo'. Attempting error recovery
Time of Update: 2017-02-27
出現一個莫明奇妙的編譯錯誤:../../kernel/fork.c At end of source: : internal error: Uncaught exception Assertion failed raisedat ../../../bril/optimiser/dominators.c:910 (in passcleanup_scalar_stores_nonopt during compilation of _copy_process).Please submit a
Time of Update: 2017-02-27
由於上一章的文章中我沒有向大家介紹清楚初試化的具體實現,造成很多的讀者無法很好的理解,這是我的失誤。本人現在補上,請大家原諒。一個Windows
Time of Update: 2017-02-27
當我們使用著漂亮的介面,方便快捷的應用程式的時候。我們才會發現,以前曾編寫的程式是多麼的粗糙(TC編寫的程式)。簡單的介面,16色的顯示系統,大大的落後於電腦的發展。簡單的說就是殺雞用牛刀。如何該改變這種情況呢?Microsoft公司在推出windows作業系統的時候給出了簡單易行的解決方案。這就是WINDOWS平台API應用程式介面。當然API也是發展的,它從WIN 16 API發展到了現在普遍使用的WIN 32