随笔分类 - C/C++

(筆記) 如何寫入binary file某個byte連續n byte的值? (C/C++) (C)
摘要: 通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行寫入,且連續寫入幾個byte表示某一數值資訊。阅读全文

posted @ 2011-10-31 23:56 真 OO无双 阅读(4841) | 评论 (0) 编辑

(筆記) 如何寫入binary file某個byte的值? (C/C++) (C)
摘要: 通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行寫入。阅读全文

posted @ 2011-10-31 23:18 真 OO无双 阅读(14807) | 评论 (0) 编辑

(筆記) 如何讀取binary file某個byte連續n byte的值? (C/C++) (C)
摘要: 通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行讀取,且連續幾個byte表示某一數值資訊。阅读全文

posted @ 2011-10-27 23:35 真 OO无双 阅读(11472) | 评论 (0) 编辑

(筆記) 如何讀取binary file某個byte的值? (C/C++) (C)
摘要: 通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行讀取。阅读全文

posted @ 2011-10-27 23:06 真 OO无双 阅读(3573) | 评论 (0) 编辑

(筆記) 常用設定暫存器值的編程技巧 (SOC) (C/C++) (C) (Verilog)
摘要: 設定暫存器值是寫firmware時最常見的控制,本文歸納出C語言在寫firmware時常見的編程技巧,並與Verilog相互對照。阅读全文

posted @ 2011-10-02 17:31 真 OO无双 阅读(8428) | 评论 (0) 编辑

(原創) 為什麼將二維陣列傳入函數時,還要傳入column數? (C/C++) (C) (C#)
摘要: C語言的二維陣列有很多較難理解之處,其中一個就是當將二維陣列傳入函數時,竟然還要傳入column數,難到C compiler不能自己做嗎?也一併討論其他二維陣列相關的議題。阅读全文

posted @ 2011-06-12 08:32 真 OO无双 阅读(17429) | 评论 (7) 编辑

(筆記) struct對function可以call by value嗎?可以return一個struct嗎? (C/C++)
摘要: C在傳遞較大型資料結構進function時,如array、string、struct時,都建議使用pointer的pass by address,是否也能使用pass by value呢?阅读全文

posted @ 2011-02-18 20:37 真 OO无双 阅读(25434) | 评论 (1) 编辑

(筆記) 如何對一變數指定某一個bit的值? (SOC) (C/C++) (Verilog)
摘要: 寫Firmware或HDL與寫AP其中一個差異就是,寫Firmware或HDL常常需要對bit去做控制,因為每一個bit都代表不同register的設定值,但是寫AP通常不會這樣去設計,所以如何對bit去處理,在寫Firmware與HDL非常基本也非常重要。阅读全文

posted @ 2011-02-16 23:53 真 OO无双 阅读(24801) | 评论 (0) 编辑

(筆記) 如何使用Visual C++ 6.0開發Win32 DLL? (C/C++) (VC++)
摘要: 本文討論使用Visual Studio 6.0的Visaul C++開發Win32 DLL。阅读全文

posted @ 2011-02-13 19:05 真 OO无双 阅读(7622) | 评论 (0) 编辑

(筆記) 如何讓C++ Builder 2009產生不需要任何run time library的執行檔? (C/C++) (C++ Builder)
摘要: 使用C/C++開發APP的其中一個優點,就是不用像VB6、C#、Java一樣一定需要run time library,可以靠編譯的方式,只要一個執行檔就搞定,本文討論如何在C++ Builder 2009設定編譯方式。阅读全文

posted @ 2009-09-30 22:35 真 OO无双 阅读(4124) | 评论 (1) 编辑

(筆記) 如何使用strtok()? (C/C++) (C)
摘要: strtok()的簡單使用範例。阅读全文

posted @ 2009-05-10 03:06 真 OO无双 阅读(24128) | 评论 (3) 编辑

(筆記) 如何使用C語言實現split()? (C/C++) (C) (JavaScript)
摘要: 寫過JavaScript或ASP的朋友,應該常常用到split()這個函數,他可以輕易地將string轉成array,C語言並沒有相對應的函數,只有strtok()較為接近,稍微加工後,就可以在C語言實現split()。阅读全文

posted @ 2009-05-09 22:51 真 OO无双 阅读(19408) | 评论 (1) 编辑

(筆記) 如何在字串中從指定字元抓到指定字元(pointer版)? (C/C++) (C)
摘要: 這是一個實務上常用的功能,可惜在C語言的string.h並沒有提供,本文實作出一個小function達到此功能,並搭配pointer。阅读全文

posted @ 2009-04-26 15:11 真 OO无双 阅读(2411) | 评论 (1) 编辑

(筆記) 如何在字串中從指定字元抓到指定字元? (C/C++) (C)
摘要: 這是一個實務上常用的功能,可惜在C語言的string.h並沒有提供,本文實作出一個小function達到此功能。阅读全文

posted @ 2009-04-26 13:53 真 OO无双 阅读(8074) | 评论 (1) 编辑

(原創) 一個C++ Primer 4th中文版的嚴重中譯錯誤 (C/C++)
摘要: 侯捷老師的C++書籍,一直是陪伴大家學習C++最好的夥伴,主要是侯捷老師的深厚的C++功力與中文造詣,但在C++ Primer 4th中文版p.476,出現了一個嚴重的中譯錯誤,而且還連錯兩次。阅读全文

posted @ 2008-11-16 00:55 真 OO无双 阅读(6339) | 评论 (1) 编辑

(筆記) 如何將int,double轉字串? (C/C++) (C)
摘要: C語言並沒有提供一個函數專門將int, double轉字串,必須透過一個小技巧。阅读全文

posted @ 2008-10-27 01:52 真 OO无双 阅读(8796) | 评论 (4) 编辑

(筆記) 如何判斷回文(palindrome) ? (C/C++) (C) (STL)
摘要: 回文是學習C語言時,常出現的作業與考題。阅读全文

posted @ 2008-10-27 01:26 真 OO无双 阅读(14238) | 评论 (3) 编辑

(原創) 如何實現Face Detection? (C/C++) (C) (Image Processing)
摘要: 本文使用C語言實現face detection。阅读全文

posted @ 2008-09-30 21:22 真 OO无双 阅读(9770) | 评论 (49) 编辑

(原創) 如何将std::string转int,double? (C/C++) (C) (template)
摘要: std::string为library type,而int、double为built-in type,两者无法利用(int)或(double)的方式互转,这里使用functon template的方式将std::string转int、std::string转double。阅读全文

posted @ 2008-08-01 16:59 真 OO无双 阅读(57715) | 评论 (2) 编辑

(原創) 如何將struct塞進vector? (C/C++) (STL)
摘要: 一個很常見的需求:『將struct塞進vector』,在C++該怎麼做呢?阅读全文

posted @ 2008-08-01 16:16 真 OO无双 阅读(16747) | 评论 (6) 编辑

(原創) 如何抓取C class IP的Host ID? (C/C++) (C)
摘要: 同學問我的小問題,還蠻有趣的,就順便寫寫看。阅读全文

posted @ 2008-07-30 19:59 真 OO无双 阅读(1767) | 评论 (0) 编辑

(原創) C++ string大亂鬥:C-Style string、STL string與.NET string互轉 (.NET) (C/C++) (C++/CLI) (STL)
摘要: 由於C++/CLI的加入,現在Visual C++ 9最少就有三種字串:C-Style string、STL string與.NET string,要怎麼在這三種字串互轉呢?阅读全文

posted @ 2008-07-24 00:19 真 OO无双 阅读(10270) | 评论 (9) 编辑

(原創) 如何使用struct? (C/C++) (.NET) (C++/CLI)
摘要: C++/CLI分ref struct與value struct,這裡介紹常用的value struct寫法。阅读全文

posted @ 2008-07-23 20:45 真 OO无双 阅读(5302) | 评论 (2) 编辑

(原創) 如何實現Sobel Edge Detector? (Image Processing) (C/C++) (C++/CLI) (C)
摘要: 使用C與C++/CLI實現Sobel Edge Detector。阅读全文

posted @ 2008-07-23 12:41 真 OO无双 阅读(18468) | 评论 (6) 编辑

(筆記) 如何將10進位轉2進位? (C/C++) (C) (STL)
摘要: printf()只能顯示10、8、16進位的值,卻無法顯示2進位的值,但有時候我們會希望能直接顯示2進位數字。阅读全文

posted @ 2008-07-22 16:15 真 OO无双 阅读(31945) | 评论 (3) 编辑

(原創) C/C++哪些地方會用到pointer呢? (C/C++) (C)
摘要: 學習C/C++,大家最大的障礙就是pointer,本文試著將pointer做整體的討論。阅读全文

posted @ 2008-07-21 15:47 真 OO无双 阅读(24382) | 评论 (9) 编辑

(原創) iterator到底是不是pointer? (C/C++) (STL)
摘要: 使用iterator時,能使用pointer的*、++、--與->等操作,到底iterator是不是pointer呢?阅读全文

posted @ 2008-07-21 13:22 真 OO无双 阅读(24762) | 评论 (1) 编辑

(原創) 如何為程式碼加上行號? (C/C++) (STL)
摘要: 若需要將程式碼放進word交報告時,或許我們會想將程式碼加上行號方便講解,如同博客園顯示程式碼那樣?我們該如何做呢?阅读全文

posted @ 2008-07-18 01:54 真 OO无双 阅读(3044) | 评论 (2) 编辑

(筆記) 更快更好的判斷奇數偶數的小技巧 (C/C++) (C) (SOC) (Verilog)
摘要: 要判斷奇數偶數,我們都會想用%,最近在Verilog發現一個小技巧...阅读全文

posted @ 2008-07-17 15:55 真 OO无双 阅读(8228) | 评论 (9) 编辑

(原創) 如何将字符串前后的空白去除? (C/C++) (STL)
摘要: 在(原創) 如何将字符串前后的空白去除? (中级) (C++) (使用string.find_first_not_of, string.find_last_not_of) 中已经可顺利将字符串前后的空白去除,且程序相当的精简,在此用另外一种方式达到此要求,且可同时将whitespace去除,并且使用template写法。阅读全文

posted @ 2008-07-15 21:00 真 OO无双 阅读(3652) | 评论 (2) 编辑

(原創) 如何使用參數式模組? (SOC) (Verilog) (C/C++) (template)
摘要: Verilog一向不在語法上耍花槍,參數式模組的寫法,算是Verilog最奇特的寫法,在C與C++也沒有。阅读全文

posted @ 2008-07-09 22:50 真 OO无双 阅读(31091) | 评论 (1) 编辑

(原創) 由C語言學習Verilog的思維轉換 (C/C++) (C) (IC Design) (Verilog)
摘要: Verilog由於在語法上向C靠攏,若熟悉C語言,學Verilog倍感親切,但也由於語法類似,若把Verilog當成C語言來思考,怎很難抓到硬體的精神。阅读全文

posted @ 2008-06-17 21:04 真 OO无双 阅读(10508) | 评论 (4) 编辑

(原創) 如何在μClinux開發第一支Hello World程式? (IC Design) (DE2) (Nios II) (OS) (Linux) (μClinux) (C/C++) (gcc)
摘要: μClinux順利的在DE2上執行是不夠的,重要的是如何將我們寫的程式放到μClinux上執行。阅读全文

posted @ 2008-06-09 11:28 真 OO无双 阅读(7425) | 评论 (20) 编辑

(原創) 如何在Linux下編譯libdecodeqr? (OS) (Linux) (CenOS) (Image Processing) (C/C++)
摘要: libdecodeqr是一個open source的C/C++ QR code library,本文討論如何使在Linux下編譯。阅读全文

posted @ 2008-06-06 00:36 真 OO无双 阅读(2518) | 评论 (1) 编辑

(原創) 如何在Linux下編譯OpenCV? (OS) (Linux) (CentOS) (Image Processing) (C/C++)
摘要: OpenCV是一個C/C++開源的Computer Vision(計算機視覺)函式庫,在Windows上只要直接安裝即可,但在Linux需手動編譯,本文為我在CentOS 5.1的編譯心得。阅读全文

posted @ 2008-06-05 01:55 真 OO无双 阅读(10520) | 评论 (2) 编辑

(原創) 如何使用ANSI C讀寫24/32位元的BMP圖檔? (C/C++) (C) (Image Processing)
摘要: 本文介紹如何使用ANSI C同時讀寫24/32位元的BMP圖檔做簡單的影像處理,並解析BMP格式。阅读全文

posted @ 2008-05-26 00:12 真 OO无双 阅读(7233) | 评论 (1) 编辑

(原創) 如何使用ANSI C讀寫32位元的BMP圖檔? (C/C++) (C) (Image Processing)
摘要: 本文介紹如何使用ANSI C讀寫32位元的BMP圖檔做簡單的影像處理,並解析BMP格式。
阅读全文

posted @ 2008-05-25 17:40 真 OO无双 阅读(7138) | 评论 (0) 编辑

(轉貼) ASCII字元碼對照表 (C/C++) (C) (Web) (HTML)
摘要: 完整的ASCII字元碼對照表,除了8進位、16進位、10進位外,還包含HTML表示法。
阅读全文

posted @ 2008-05-23 10:16 真 OO无双 阅读(11657) | 评论 (1) 编辑

(原創) 如何使用ANSI C讀寫24位元的BMP圖檔? (C/C++) (C) (Image Processing)
摘要: 本文介紹如何使用ANSI C讀寫24位元的BMP圖檔,並解析BMP格式。
阅读全文

posted @ 2008-05-06 00:08 真 OO无双 阅读(30106) | 评论 (18) 编辑

(翻譯) 註解程式碼的13個建議 (C/C++)
摘要: 本文例舉了我們在註解程式碼時的13個小技巧,這讓我們的代碼更易讀懂,更易維護。阅读全文

posted @ 2008-04-26 15:41 真 OO无双 阅读(11233) | 评论 (2) 编辑

(原創) 如何將struct array寫入文字檔? 如何從文字檔讀出struct array? (C/C++) (C)
摘要: 本文介紹如何將struct array寫入binary file,並從binary file讀出struct array。阅读全文

posted @ 2008-04-23 22:49 真 OO无双 阅读(7612) | 评论 (0) 编辑

(原創) 如何使用Nios II C2H compiler? (IC Design) (DE2) (Nios II) (Quartus II) (SOPC Builder) (C/C++) (C2H)
摘要: 由於嵌入式的CPU運算速度較差,一些演算法在軟體可能無法達到real time需求,這時會考慮用Verilog或VHDL來實現硬體加速。為了減少time to market,Altera提供了C2H compiler,讓你直接將用軟體C語言的程式碼變成硬體。阅读全文

posted @ 2008-04-22 20:52 真 OO无双 阅读(7115) | 评论 (21) 编辑

(轉貼) 快速可編程單晶片系統開發與ANSI C語言功能的硬體加速 (IC Design) (C/C++) (C) (C2H) (News)
摘要: 當嵌入式系統的尺寸與複雜性日漸增加時,開發與整合時間便成為關鍵的限制因素,設計時牽扯到大量在不同晶片上的組合件,造成高成本與面積過大的困擾,在整合與輸入/輸出管理上所面臨的挑戰也使得風險逐漸提高。此外,因為有了增進效能的需求,通常也會讓採用客製化硬體,以便加速以往採用微處理器來執行關鍵的運算工作,成為當前的必要條件。阅读全文

posted @ 2008-04-21 16:07 真 OO无双 阅读(3209) | 评论 (0) 编辑

(原創) 如何一個字元一個字元的印出字串? (C/C++) (C)
摘要: 若只能一個位元一個位元的印出字串,你會怎麼印呢?阅读全文

posted @ 2008-04-16 02:30 真 OO无双 阅读(2433) | 评论 (1) 编辑

(原創) 一個關於C語言字串有趣的小題目 (C/C++) (C)
摘要: 這是學弟的家庭作業,一個關於C語言字串有趣的題目。阅读全文

posted @ 2008-04-15 16:48 真 OO无双 阅读(3293) | 评论 (4) 编辑

(原創) 為什麼int *ptr = 345;這樣的寫法有問題? (C/C++) (C)
摘要: 這是一個初學者常犯的錯,不過卻是一個很好的問題,充分表現出pointer的特色。阅读全文

posted @ 2008-03-27 22:39 真 OO无双 阅读(7145) | 评论 (5) 编辑

(原創) 如何將陣列每個元素減1後,顯示在螢幕上? (C/C++) (C)
摘要: 一個很簡單的題目,來看看C和C++要如何實現。阅读全文

posted @ 2008-03-26 14:38 真 OO无双 阅读(1399) | 评论 (4) 编辑

(原創) 為什麼將二維陣列傳入函數時,還要傳入column數? (C/C++) (C)
摘要: C語言的二維陣列有很多較難理解之處,其中一個就是當將二維陣列傳入函數時,竟然還要傳入column數,難到C compiler不能自己做嗎?阅读全文

posted @ 2008-03-24 11:04 真 OO无双 阅读(9248) | 评论 (8) 编辑

(原創) 二維陣列與字串陣列有什麼差異? (C/C++) (C)
摘要: 二維陣列和字串陣列是個很類似的東西,The C Programming Language還特別提出一小節來探討,我們來看看兩者的差異在哪裡?阅读全文

posted @ 2008-03-24 00:25 真 OO无双 阅读(18539) | 评论 (0) 编辑

(原創) 簡單的Linked List實現 (C/C++) (C) (Data Structure)
摘要: 使用C語言簡單的實現linked list,並用C++的std::vector實作出相同的功能作比較。阅读全文

posted @ 2008-03-22 15:26 真 OO无双 阅读(101179) | 评论 (5) 编辑

(原創) 如何將輸入的字串存到記憶體後,再一起印出來? (C/C++) (C)
摘要: 最近有同學問我這個問題,整理之後,將心得提出與大家分享。阅读全文

posted @ 2008-03-21 16:59 真 OO无双 阅读(8000) | 评论 (6) 编辑

(原創) 如何使function傳回兩個以上的值? (C/C++) (C)
摘要: 若要使function傳回一個值,可以使用return,若要傳回兩個以上的值呢?阅读全文

posted @ 2008-03-15 10:32 真 OO无双 阅读(25171) | 评论 (3) 编辑

(原創) 如何在VC8使用OpenMP? (C/C++) (VC++) (OpenMP)
摘要: 隨著多核心CPU普及,但時脈卻越來越低,若程式還是用單核心的方式去寫,不僅壓榨不出多核心的效能,執行速度還可能越來越低,所以使用平行處理(Parallel Programming)也就越來越重要了。阅读全文

posted @ 2008-03-05 12:43 真 OO无双 阅读(4519) | 评论 (6) 编辑

(原創) 如何判斷一個字串是否存在於另外一個字串? (C/C++) (C)
摘要: C語言提供了strstr(),可以判斷一個字串是否存在於另外一個字串。阅读全文

posted @ 2008-03-05 10:52 真 OO无双 阅读(2491) | 评论 (2) 编辑

(轉貼) VB, Delphi, BCB 和 C++/MFC 的抉擇 (C/C++) (MFC)
摘要: 目前開發Windows程式的方式很多,除了VB、Delphi、BCB與MFC外,.NET和Java也可以,甚至跨平台的Qt與GTK+等也可以,這篇文章雖然是2001年有點久遠(7年前),不過觀念卻很正確,也剛好點出了很多一般人錯誤的觀念,值得一讀。阅读全文

posted @ 2008-02-14 02:34 真 OO无双 阅读(2391) | 评论 (0) 编辑

(原創) 如何在VC8編譯libdecodeqr? (C/C++) (VC++) (Image Processing)
摘要: libdecodeqr是一個open source的C/C++ QR code library,本文討論如何使用VC8編譯。阅读全文

posted @ 2008-02-13 19:34 真 OO无双 阅读(8026) | 评论 (9) 编辑

(原創) 如何列出陣列中大於n的所有元素? (C/C++) (STL)
摘要: 若用C語言配合迴圈,這是個很簡單的題目,但若用C++配合STL,則有很漂亮的寫法。阅读全文

posted @ 2008-02-06 20:51 真 OO无双 阅读(1164) | 评论 (1) 编辑

(原創) 如何將16進位的ACSII值轉成相對應的字元? (C/C++) (C)
摘要: 若字串記載的是16進位的數值,該如何轉成相對應的ASCII值呢?阅读全文

posted @ 2008-02-06 18:01 真 OO无双 阅读(7966) | 评论 (0) 编辑

(原創) 如何使用STL寫XML轉檔程式? (C/C++) (STL) (Web) (XML)
摘要: 寫文字檔轉檔程式是很常見的需求,一般來說,這種都屬於dirty job,沒什麼技巧,純粹是迴圈硬幹,若使用STL來寫轉檔程式,不只程式超短,一個迴圈都不需要!!阅读全文

posted @ 2008-01-30 12:07 真 OO无双 阅读(3705) | 评论 (10) 编辑

(原創) 如何使用C++的標準函式庫進行排序? (C/C++) (STL)
摘要: 前一篇談到使用C語言stdlib.h的qsort()對array進行排序,C++呢?STL也提供了sort() algorithm。阅读全文

posted @ 2008-01-29 10:58 真 OO无双 阅读(11257) | 评论 (8) 编辑

(原創) 如何使用C語言的標準函式庫進行排序? (C/C++) (C)
摘要: 一想到排序,你會想到什麼?Bubble sort?事實上ANSI C的library就帶了一個超快的排序法:Quick Sort!!阅读全文

posted @ 2008-01-28 23:44 真 OO无双 阅读(16613) | 评论 (3) 编辑

(原創) 給對電機領域有興趣的學弟學妹建議 (IC Design) (C/C++) (C) (Verilog)
摘要: 假如能重新來過讀大一,你會怎麼讀呢?以下是我對學弟學妹的建議。阅读全文

posted @ 2008-01-14 20:50 真 OO无双 阅读(11540) | 评论 (20) 编辑

(原創) 如何加速for loop? (C/C++) (OpenMP) (template) (TMP) (C2H)
摘要: 據同學說是聯發科的面試考題,以下是我野人獻曝的解法,若有大俠有任何更好的方,歡迎華山論劍。阅读全文

posted @ 2008-01-06 02:03 真 OO无双 阅读(12021) | 评论 (10) 编辑

(原創) 如何在Ubuntu上編譯C語言程式碼? (C/C++) (C) (Linux) (Ubuntu) (gcc) (g++)
摘要: Ubuntu上雖然已經內建gcc,不過卻沒內建最基本的Standard C Library,要如何在Ubuntu下編譯C語言程式碼呢?阅读全文

posted @ 2007-10-20 21:26 真 OO无双 阅读(29243) | 评论 (4) 编辑

(原創) 回讀者的信,一篇學習C#/C++/OO的FAQ (OO) (Design Pattern) (C/C++) (.NET) (C#)
摘要: 因為我覺得這是很多人都會有的疑問,所以我將回復的內容公開出來和大家分享。阅读全文

posted @ 2007-09-18 17:24 真 OO无双 阅读(5666) | 评论 (8) 编辑

(原創) 我的Design Pattern之旅[8]:如何使用泛型打造動態改變的Strategy Pattern? (OO) (Design Pattern) (C/C++) (template) (boost)
摘要: 一般若用泛型實現Strategy Pattern,缺點是無法動態改變strategy,本文將介紹可以動態改變的泛型Strategy Pattern。阅读全文

posted @ 2007-09-14 01:53 真 OO无双 阅读(2721) | 评论 (4) 编辑

(轉貼) Verilog与C++的类比 (IC Design) (Verilog) (C/C++)
摘要: 轉貼自陳碩 的Verilog与C++的类比 1. Verilog中的module对应C++中的class。它们都可以实例化。例如可以写一个FullAdder module,表示全加器这种器件。 module FullAdder(a, b, cin, sum, cout); input a, b, cin; output sum, cout; assign {cout, sum}...阅读全文

posted @ 2007-09-09 23:15 真 OO无双 阅读(3384) | 评论 (0) 编辑

(原創) 如何交換兩個變數,而不動用第三個變數? (C/C++) (C) (.NET) (C#)
摘要: 一般要交換兩個變數,會用到一個新的變數當暫存,是否能只用兩個變數做交換呢?阅读全文

posted @ 2007-09-09 12:04 真 OO无双 阅读(12847) | 评论 (8) 编辑

(原創) 如何在Visual Studio 2005編譯boost 1.34.1? (C/C++) (VC++) (boost)
摘要: 很多人無法在VC8編譯boost,本篇是我的編譯心得。阅读全文

posted @ 2007-09-05 17:25 真 OO无双 阅读(4219) | 评论 (5) 编辑

(原創) 如何使用泛型模擬virtual? (C/C++) (template)
摘要: OO最重要的多型/多態就是用繼承 + virtual來完成,virtual雖好用,但付出的代價就是『更多的記憶體』+『更慢的速度』,本文介紹使用泛型來模擬virtual機制。阅读全文

posted @ 2007-08-29 00:40 真 OO无双 阅读(1648) | 评论 (1) 编辑

(轉貼) ATL布幔之下的秘密(5) (C/C++) (template)
摘要: 很精彩的ATL泛型應用解析。阅读全文

posted @ 2007-08-28 21:32 真 OO无双 阅读(768) | 评论 (0) 编辑

(轉貼) ATL布幔之下的秘密(4) (C/C++) (template)
摘要: 很精彩的ATL泛型應用解析。阅读全文

posted @ 2007-08-28 21:05 真 OO无双 阅读(499) | 评论 (0) 编辑

(轉貼) ATL布幔之下的秘密(3) (C/C++) (template)
摘要: 很精彩的ATL泛型應用解析。阅读全文

posted @ 2007-08-28 21:00 真 OO无双 阅读(801) | 评论 (1) 编辑

(轉貼) ATL布幔之下的秘密(2) (C++) (template)
摘要: 很精彩的ATL泛型應用解析。阅读全文

posted @ 2007-08-28 20:50 真 OO无双 阅读(644) | 评论 (0) 编辑

(轉貼) ATL布幔之下的秘密(1) (C/C++) (template)
摘要: 很精彩的ATL泛型應用解析。阅读全文

posted @ 2007-08-28 20:35 真 OO无双 阅读(903) | 评论 (1) 编辑

(轉貼) Evolving a language in and for the real world C++ 1991-2006 (中文翻譯版) (By Bjarne Stroustrup) (C/C++)
摘要: Evoloving a language in and for the real world C++ 1991-2006(中文翻譯版)阅读全文

posted @ 2007-08-16 02:15 真 OO无双 阅读(495) | 评论 (0) 编辑

(轉貼) Evolving a language in and for the real world C++ 1991-2006 (英文版) (by Bjarne Stroustrup) (C/C++)
摘要: Evolving a language in and for the real world C++ 1991-2006 (英文版)阅读全文

posted @ 2007-08-16 02:12 真 OO无双 阅读(313) | 评论 (0) 编辑

(轉貼) A Design Rationale for C++/CLI (.NET) (C++/CLI) (C/C++) (by Herb Sutter)
摘要: 一份由Sutter對C++/CLI的大局介紹。阅读全文

posted @ 2007-08-14 07:12 真 OO无双 阅读(796) | 评论 (0) 编辑

(轉貼) 指针专题 (C/C++) (C)
摘要: 轉貼自http://www.cppblog.com/Lee7/archive/2007/08/09/29662.html一、数组的指针、指针数组以及指向指针的指针 考虑数组的指针的时候我们要同时考虑类型和维数这两个属性。换一句话,就是说一个数组排除在其中存储的数值,那么可以用类型和维数来位置表示他的种类。 A)一维数组 在c和c++中数组的指针就是数组的起始地址(也就第一个元素的地址...阅读全文

posted @ 2007-08-10 03:19 真 OO无双 阅读(1164) | 评论 (1) 编辑

(轉貼) C++接口与实现分离的2种方法 (C/C++)
摘要: 接口与实现的分离,有助于我们对代码实现的保护,特别是如果我们开发lib共别人使用使,更要注意。在实现分离的过程中,最好采用上面的第一种方法的智能指针boost::shared_ptr的实现,简单安全。阅读全文

posted @ 2007-08-10 02:39 真 OO无双 阅读(1462) | 评论 (0) 编辑

(轉貼) C++指针探讨 (C/C++)
摘要: 一份對C++ pointer很深入探討的博客。阅读全文

posted @ 2007-08-10 01:40 真 OO无双 阅读(1191) | 评论 (0) 编辑

(轉貼) c++指针|指针入门 (C/C++) (C)
摘要: 一份寫的很深入淺出的C/C++ pointer入門。阅读全文

posted @ 2007-08-10 01:27 真 OO无双 阅读(1588) | 评论 (0) 编辑

(原創) 我的VS2008之旅[1] : STL/CLR (.NET) (C++/CLI) (STL) (C/C++)
摘要: VS2008最讓我有興趣的,首推LINQ,其次就是STL/CLR和Lambda了,LINQ在博客園討論的人已經很多,所以我將VS2008之旅首站駛往STL/CLR。阅读全文

posted @ 2007-08-08 19:16 真 OO无双 阅读(6096) | 评论 (3) 编辑

(轉貼) Qt參考文檔漢化 (C/C++)
摘要: 很豐富的Qt中文資源。阅读全文

posted @ 2007-08-02 07:19 真 OO无双 阅读(745) | 评论 (0) 编辑

(轉貼) 一個很不錯的Design Pattern網站 (OO) (Design Pattern) (C/C++) (Java)
摘要: 一個很不錯的Design Pattern網站,含C++和Java代碼。阅读全文

posted @ 2007-07-31 07:19 真 OO无双 阅读(6300) | 评论 (1) 编辑

(原創) Template Metaprogramming系列[1] : 使用遞迴/递归(Recursive) (C/C++) (.NET) (C++/CLI) (template) (TMP)
摘要: 遞迴/递归(recursive)優點是代碼精簡,尤其若算法牽涉到前後相關,如n! = n * (n-1) * (n-2)...* 2 * 1,不用recursive很難寫,但recursive的缺點會大量消耗電腦內存,若使用TMP(Template Metaprogramming),則可解決此缺點。阅读全文

posted @ 2007-07-28 19:41 真 OO无双 阅读(3872) | 评论 (4) 编辑

(原創) 如何一行一行的讀取文字檔? (.NET) (C#) (C++/CLI) (C/C++)
摘要: .NET讀取文字檔的簡單範例。阅读全文

posted @ 2007-07-28 09:55 真 OO无双 阅读(6735) | 评论 (2) 编辑

(原創) 如何使用Timer? (.NET) (C#) (C++/CLI)
摘要: Timer簡單的使用範例。阅读全文

posted @ 2007-07-28 09:11 真 OO无双 阅读(4775) | 评论 (0) 编辑

(轉貼)《程序员》推荐C++ 图书三人谈 (C/C++)
摘要: C++經典好書推薦。阅读全文

posted @ 2007-07-27 15:06 真 OO无双 阅读(1395) | 评论 (0) 编辑

(原創) 我的Design Pattern之旅[7]:使用泛型改進Adapter Pattern (OO) (Design Pattern) (C/C++) (template) (.NET) (C#) (C++/CLI) (VB)
摘要: Adapter Pattern有Class Adapter和Object Adapter兩種實現方式。Class Adapter的優點是可override Adaptee,且實現方式較簡單,但缺點是只能針對特定class量身訂做Adapter,配合泛型,可解決Class Adapter的缺點。阅读全文

posted @ 2007-07-19 00:11 真 OO无双 阅读(4036) | 评论 (12) 编辑

(原創) 我的Design Pattern之旅[6] : Adapter Pattern (OO) (Design Pattern) (C/C++) (.NET) (C#) (C++/CLI) (VB)
摘要: 在OO設計裡,我們常會定下interface要求其他class必須實現此interface,以便彼此溝通,若是新開發的專案,問題就不大;若既有的framework/library中,已經有符合需求的class,但唯一可惜的是,『可能interface並不相同』,導致無法和我的class合作,此時可使用Adpater Pattern解決。阅读全文

posted @ 2007-07-16 16:00 真 OO无双 阅读(13829) | 评论 (6) 编辑

(轉貼) 一些boost常用的泛型技巧 (C/C++) (template) (boost)
摘要: boost常用的Generic Patterns介紹。阅读全文

posted @ 2007-07-16 00:15 真 OO无双 阅读(2307) | 评论 (0) 编辑

(翻譯) 為什麼C#不提供默認參數(default parameter)? (.NET) (C#) (C++/CLI) (C/C++)
摘要: 這是我長久的疑問,也是多年以來C#被罵到臭頭之處,因為C++、VB6、VB.NET,就連T-SQL都有default value,為什麼C#沒有呢?阅读全文

posted @ 2007-06-29 00:11 真 OO无双 阅读(10288) | 评论 (25) 编辑

(原創) 如何建立自己的Collection? (.NET) (C#) (C++/CLI) (C/C++)
摘要: 在OO設計中,對應於Relational Database的一筆資料,我們會用一個object,如Customer,但多筆資料呢?有些人會用DataSet,有些人會用List,這些方法都不錯,但若要設計自己的Collection:Customers type,那該怎麼做呢?阅读全文

posted @ 2007-06-19 12:51 真 OO无双 阅读(7644) | 评论 (13) 编辑

(原創) 如何讓泛型支援多個interface? (.NET) (C/C++) (C#) (template) (C++/CLI)
摘要: 在(原創) 一個C++能跑的泛型,但在C#卻不能跑<已解決> (C++) (Template C++) (C#) 中,我們看到了.NET的Generics的multiple constraints是AND的關係,而非OR的關係,若要讓泛型支援OR的關係該如何做呢?阅读全文

posted @ 2007-06-16 20:37 真 OO无双 阅读(4453) | 评论 (26) 编辑

(原創) 一個C++能跑的泛型,但在C#卻不能跑<已解決> (C/C++) (template) (.NET) (C#) (C++/CLI)
摘要: 一個關於C#和C++的泛型,改了兩天還改不出來,借用一下版面,有人能幫忙Debug嗎?改完我就從首頁拿掉<已解決>...謝謝阅读全文

posted @ 2007-06-16 14:16 真 OO无双 阅读(3609) | 评论 (27) 编辑

(轉貼) C++ Builder 2007六月上市 (C/C++) (News)
摘要: C++ Builder 2007將增強對開發過程的視覺化輔助,並大幅提高程式在開發工具中的編譯速度,減少開發人員每天耗費在瑣碎部署過程的時間。 CodeGear宣布原生Win32版本的C++ Builder 2007英文版將於6月初上市。可供既有C++應用程式直接支援Vista作業系統,也提供Web Ajax的VCL開發元件。將強化開發輔助機制,支援UML的原始碼視覺化呈現。採用DBX 4資料庫...阅读全文

posted @ 2007-06-05 20:31 真 OO无双 阅读(851) | 评论 (0) 编辑

(原創) 如何刪除container中重複的element? (C/C++) (STL)
摘要: STL並沒有提供這樣的algorithm,透過簡單的方法,就可以達成這個需求。阅读全文

posted @ 2007-05-27 14:56 真 OO无双 阅读(1653) | 评论 (0) 编辑

(原創) 如何重新動態配置記憶體空間? (C/C++) (C)
摘要: C++里我NEW了一個CHAR[10] 後來發現不購大 想加大空間 而不損害原來的內容怎麽辦?阅读全文

posted @ 2007-05-26 07:33 真 OO无双 阅读(2015) | 评论 (2) 编辑

(轉貼) boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 (C/C++) (template) (boost)
摘要: 轉貼自空明流转 的 boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 首先我声明一下,其实这里的FAQ所给出的解答,都不是我说的,而是最近接触boost的时候一名前辈指点的,所以版权属于他的,呵呵。 Q: boost 1.34.0 在 VC8下工作有哪些问题? A: boost 1.34.0在VC8下使用它自带的STL编译出的"Safe"代码速度很慢;它的安全的C函数,boost...阅读全文

posted @ 2007-05-24 21:23 真 OO无双 阅读(1376) | 评论 (0) 编辑

(原創) 如何讓pointer指向pointer自己? (C/C++) (C)
摘要: 小明思考 的{Just for fun} 如何让指针指向自己 ,他用了C++寫了這個有趣的題目,我用C語言改寫了一次。阅读全文

posted @ 2007-05-24 18:45 真 OO无双 阅读(2133) | 评论 (0) 编辑

(轉貼) Const用法小结 (C/C++)
摘要: 轉貼自const 用法小结作者: 张秀君(转载请注明) 关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,参考了康建东兄的const使用详解一文,对其中进行了一些补充,写下了本文。 1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对...阅读全文

posted @ 2007-05-23 04:14 真 OO无双 阅读(1058) | 评论 (0) 编辑

(轉貼) STL算法学习 (C/C++) (STL)
摘要: 轉貼自 梦在天涯的STL算法学习STL算法学习,小结如下: 前提: 下载stl源码: http://www.sgi.com/tech/stl/download.html打开网页: http://www.sgi.com/tech/stl/stl_index.html 一 函数对象: 因为很多的算法中多使用了函数对象 二元函数对象,V1和V2为输入,V3为结果 plus: tran...阅读全文

posted @ 2007-05-23 04:11 真 OO无双 阅读(2529) | 评论 (0) 编辑

(原創) 若class中data member的container,含的是polymorphism的pointer,該如何big three? (C/C++)
摘要: C++中一旦用到pointer,就得自己管理memory,若功力不夠,不是當機就是memory leak,所以能避免就避免,不過若要在container中放polymorphism object,就只能使用pointer,此時該如何big three呢?阅读全文

posted @ 2007-05-21 22:09 真 OO无双 阅读(624) | 评论 (0) 编辑

(原創) 若class中的data member有container,而且內含pointer時,也一定要big three!! (C/C++)
摘要: 當class的data member含pointer時,我們知道此時一定要big three(copy constructor,assignment operator,destructor),若是container內含pointer時呢?答案是也需big three。阅读全文

posted @ 2007-05-18 22:28 真 OO无双 阅读(775) | 评论 (0) 编辑

(原創) 如何在C++/CLI實做pass by reference to const? (.NET) (C++/CLI) (C/C++)
摘要: C++ programmer都知道用pass by reference to const取代pass by value,但C++/CLI該怎麼實做呢?阅读全文

posted @ 2007-05-17 16:54 真 OO无双 阅读(1473) | 评论 (0) 编辑

(原創) 如何檢查是否為合法IP? (.NET) (C++/CLI) (C/C++) (Reqular Expression)
摘要: 檢查是否為合法IP,不需hardcode了,透過Regular Expression,只要一行就可以。阅读全文

posted @ 2007-05-17 07:41 真 OO无双 阅读(1454) | 评论 (1) 编辑

(原創) 一旦為virtaul,則永世為virtual (C/C++) (.NET) (C#)
摘要: 若abstract base class將某個function設為virtual function後,則該function永世都為virtual function。阅读全文

posted @ 2007-05-15 06:09 真 OO无双 阅读(1627) | 评论 (0) 编辑

(原創) 如何使for_each()傳回值? (C/C++) (STL)
摘要: for_each()是STL中少數可以回傳值的algorithm,此範例在展示for_each()此特殊功能與function object可以留住state的特性。阅读全文

posted @ 2007-05-13 20:29 真 OO无双 阅读(1016) | 评论 (0) 编辑

(原創) 如何正確的使用迴圈(使用for_each)? (C/C++) (STL) (template)
摘要: 之前在(原創) 如何使用for_each() algorithm? (初级) (C++) 曾經討論過for_each(),不過當時功力尚淺,只談到了皮毛而已,這次看了effective STL的item 41、43後,對for_each()又有了更深入的了解,因此做了本篇心得報告。阅读全文

posted @ 2007-05-12 15:48 真 OO无双 阅读(12859) | 评论 (1) 编辑

(原創) interface和abstract class有何不同? (C/C++) (.NET) (C#)
摘要: 這兩個的確非常的像,主要都是為了實踐『多型』,但實際的用途並不一樣。阅读全文

posted @ 2007-05-07 21:45 真 OO无双 阅读(43093) | 评论 (2) 编辑

(原創) Function Pointer、Delegate和Function Object (C/C++) (template) (.NET) (C#)
摘要: Function Pointer(C)、Delegate(C#)和Function Object(C++)這三個其實是一樣的功能,所以在此一併討論。阅读全文

posted @ 2007-05-02 00:44 真 OO无双 阅读(25242) | 评论 (3) 编辑

(原創) 我的Design Pattern之旅[5]:Facade Pattern (OO) (Design Pattern) (C/C++)
摘要: facade是我學到的第三個pattern,也是個很簡單的pattern,主要是將眾多class重新包裝成一個更好用的class。阅读全文

posted @ 2007-04-24 19:01 真 OO无双 阅读(9429) | 评论 (1) 编辑

(原創) 如何將container中的iterator,從一個值取代成另外一個值? (C/C++) (STL)
摘要: 若想將container中的iterator,從一個值取代成另外一個值,但container並沒有提供replace()這個member function,而是提供了replace()這個Generic Algorithm。阅读全文

posted @ 2007-04-19 15:33 真 OO无双 阅读(708) | 评论 (0) 编辑

(轉貼) Visual C++ Orcas Spec (.NET) (C/C++) (C++/CLI)
摘要: Visual C++幾乎是目前最標準的C++了,即將上市了Visual C++ Orcas增加了哪些功能呢?阅读全文

posted @ 2007-04-19 10:19 真 OO无双 阅读(996) | 评论 (0) 编辑

(轉貼) C++還能重新輝煌嗎?C++複雜性的思考 (C/C++)
摘要: 是對是錯還須深入思考,不過尊重他的意見。阅读全文

posted @ 2007-04-11 02:21 真 OO无双 阅读(659) | 评论 (0) 编辑

(轉貼) 2008年的看我 : C++ 2.0 (C/C++)
摘要: 2008最重要的事情是什麼?北京奧運?台灣選總統?都不是!!是C++ 2.0要發布了!!阅读全文

posted @ 2007-04-08 09:46 真 OO无双 阅读(2337) | 评论 (3) 编辑

(轉貼) Javaer 双修C++的key point (C/C++) (Java)
摘要: 轉貼自http://www.blogjava.net/calvin/archive/2005/10/10/15132.aspx作者:江南白衣 关键是把C++当作Java的sister,无关C事。 所以不要买〈C/C++.....〉为名的书,入门推荐〈Essential C++〉的中文版之类,开篇就讲C++/STL。 如果不幸学校里已经学了C,想办法忘掉它。 1. 用ST...阅读全文

posted @ 2007-04-08 09:31 真 OO无双 阅读(659) | 评论 (0) 编辑

(原創) 試試看你手上對付問題有幾種武器!! (C/C++) (.NET) (C#)
摘要: GoF Design Pattern p.22說,物件導向對付問題有三種方法:1.物件繼承,2.物件多型,3.物件泛型,若加上程序導向,我們手中最少有四種武器對付問題,你會哪幾種呢?阅读全文

posted @ 2007-04-08 01:23 真 OO无双 阅读(1078) | 评论 (0) 编辑

(原創) unnamed object的多型只能使用reference (C/C++)
摘要: 當使用unnamed object且須多型時,只能使用 reference,若用pointer雖可compile,但結果不正確。阅读全文

posted @ 2007-04-07 16:36 真 OO无双 阅读(356) | 评论 (0) 编辑

(原創) 我的Design Pattern之旅[3]:使用template改進Strategy Pattern (OO) (Design Pattern) (C/C++) (template)
摘要: 在strategy pattern中,為了讓各strategy能方便存取原來物件的所有public member function,我們常用*this將整個物件傳給各strategy,這樣的設計並沒有什麼不好,但各strategy和原物件過於tight coupling,導致各strategy難以再和其他各物件搭配,本文使用template解決此問題。阅读全文

posted @ 2007-04-06 22:06 真 OO无双 阅读(2023) | 评论 (0) 编辑

(轉貼) 一些C++資源整理 (C/C++)
摘要: 轉貼自http://www.cppblog.com/CornerZhang/archive/2007/03/23/20100.htmlC++ Library: Boost Loki DevIL -- Open Source Generic Image Library -- from Adobe OggVorbis Open Input System OpenAL STLport PixelToas...阅读全文

posted @ 2007-04-02 05:36 真 OO无双 阅读(1096) | 评论 (0) 编辑

(原創) 何時該使用object? 何時該使用reference? 何時該使用pointer? (C/C++)
摘要: 對於原來會C#、Java,轉而用C++時,總會對C++同時有object、reference、pointer三種機制感到困擾,因為在C#、Java只有object,一切都很單純,但在C++卻很複雜。
阅读全文

posted @ 2007-04-01 21:12 真 OO无双 阅读(2555) | 评论 (1) 编辑

(原創) 我的Design Pattern之旅[2]:Template Method Pattern (OO) (Design Pattern) (C++)
摘要: template method pattern是我學到第二個pattern,算是一個很容易理解的pattern,但卻非常的實用。阅读全文

posted @ 2007-03-31 15:24 真 OO无双 阅读(6156) | 评论 (7) 编辑

(原創) 是否該用this這個keyword? (C/C++)
摘要: 一般人很少會用this這個keyword,可是為什麼在我的程式碼中會使用this呢?阅读全文

posted @ 2007-03-31 10:22 真 OO无双 阅读(663) | 评论 (0) 编辑

(原創) 我的Design Pattern之旅[1]:Strategy Pattern (OO) (Design Pattern) (C/C++) (template) (.NET) (C#)
摘要: Head First Design Patterns是用strategy pattern當作第一個範例,而陳俊杉教授也是用strategy當作授課的第一個pattern,可見strategy的確適合初學者學第一個學習的pattern。阅读全文

posted @ 2007-03-26 00:18 真 OO无双 阅读(13467) | 评论 (3) 编辑

(原創) constructor不能呼叫其他constructor (C/C++)
摘要: 由於data member都需要初始化,所以會想將初始化data member的程式寫在某一個constructor中,這樣其他constructor就可以呼叫這個constructor達到code reuse,但我發現C++竟然不能這樣寫。阅读全文

posted @ 2007-03-24 16:53 真 OO无双 阅读(1067) | 评论 (2) 编辑

(原創) 大陸的developer普遍比台灣牛很多 (C/C++) (日記)
摘要: 昨天在MSN認識了一位朋友,也是C++ Fan,聊了之後,發現真是上天送給我的禮物。阅读全文

posted @ 2007-03-22 23:32 真 OO无双 阅读(2282) | 评论 (8) 编辑

(原創) 一個寫constructor常犯的錯 (C/C++)
摘要: 一個常見的constructor語法錯誤,到今天才發現。阅读全文

posted @ 2007-03-21 07:27 真 OO无双 阅读(437) | 评论 (1) 编辑

(原創) 如何使用pointer和reference達成Polymorphism? (C/C++)
摘要: C++有object, pointer, reference三種物件表示方式,卻只有pointer和reference可以實現多型。阅读全文

posted @ 2007-03-21 00:06 真 OO无双 阅读(1013) | 评论 (0) 编辑

(原創) 為什麼C#、Java需要提供interface? (C/C++) (.NET) (C#) (Java)
摘要: 很多人學習C#、Java,都被interface和abstract class所搞混,不知什麼時候該用interface,什麼時候該用abstract class,但學C++時卻很單純,因為C++只用一套virtual function和多重繼承就全部解決了。阅读全文

posted @ 2007-03-17 00:22 真 OO无双 阅读(12905) | 评论 (9) 编辑

(原創) 如何使用abstract base class模擬interface? (C/C++) (.NET) (C++/CLI)
摘要: interface是OO很重要的概念,也是實現abstraction的方法之一,C#、Java都另外提供了interface這個keyword,C++並沒有interface,必須用abstract base class模擬interface,但C++/CLI在這部分和ISO C++語法不太一樣。阅读全文

posted @ 2007-03-16 21:54 真 OO无双 阅读(1163) | 评论 (0) 编辑

(原創) 如何使用abstract base class模擬interface? (C/C++)
摘要: interface是OO很重要的概念,也是實現abstraction的方法之一,C#、Java都另外提供了interface這個keyword,C++並沒有interface,必須用abstract base class模擬interface。阅读全文

posted @ 2007-03-16 21:22 真 OO无双 阅读(2621) | 评论 (0) 编辑

(原創) 如何得知檔案大小? (C/C++)
摘要: 此範例demo簡單的方式得出檔案大小。阅读全文

posted @ 2007-03-04 18:21 真 OO无双 阅读(2217) | 评论 (0) 编辑

(原創) char s[]字串和char *s字串有什麼差別? (C/C++) (C)
摘要: C語言有兩種字串宣告方式char s[]和char *s,兩者有什麼差異呢?阅读全文

posted @ 2007-03-04 09:55 真 OO无双 阅读(55647) | 评论 (2) 编辑

(原創) 為什麼陣列變數等於第一個元素的記憶體位址? (C/C++) (C)
摘要: 在C/C++中,我們知道ia = &ia[0];但為什麼要這樣定義呢?阅读全文

posted @ 2007-03-04 08:41 真 OO无双 阅读(1852) | 评论 (0) 编辑

(轉貼) 夢在天涯C++隨筆分類列表 (C/C++)
摘要: 夢在天涯是C++的高手,感謝他提出的Blog分類。阅读全文

posted @ 2007-03-03 10:12 真 OO无双 阅读(617) | 评论 (0) 编辑

(原創) 如何使用boost::array? (C/C++) (template) (boost)
摘要: 看到C#的array自帶GetLength()很羨慕嗎?boost::array也自帶size()喔!!阅读全文

posted @ 2007-02-25 18:34 真 OO无双 阅读(1508) | 评论 (0) 编辑

(原創) 如何動態建立二維陣列(多維陣列)? (C/C++)
摘要: 巧妙的使用vector,達成動態建立二維陣列的需求。阅读全文

posted @ 2007-02-25 11:25 真 OO无双 阅读(21672) | 评论 (6) 编辑

(原創) 如何動態建立二維陣列(多維陣列)? (C/C++) (C)
摘要: 為什麼需要動態建立二維陣列呢?因為sizex和sizey可能run-time才得知,所以無法使用靜態的方式建立陣列,而二維陣列唯一的優點就是可用subscripting的方式,如ia[y][x]的方式存取陣列,但是這在C語言中並不容易,本文就是要介紹如何動態建立二維陣列。阅读全文

posted @ 2007-02-25 04:36 真 OO无双 阅读(26077) | 评论 (6) 编辑

(原創) 如何動態建立一維陣列? (C/C++) (C)
摘要: 使用int ia[sizex]語法所建立的array是建立在stack,且sizex必須在compile-time就決定,是一種靜態的array,若sizex須在run-time決定,就必須在heap建立動態array。阅读全文

posted @ 2007-02-23 22:16 真 OO无双 阅读(30010) | 评论 (1) 编辑

(轉貼) Visual C++ 8.0 for Visual Studio 2005熱鍵海報 (C/C++) (VC++)
摘要: VC++ 8.0熱鍵海報阅读全文

posted @ 2007-02-23 02:56 真 OO无双 阅读(934) | 评论 (1) 编辑

(原創) 為什麼有些東西要delete?有些又不用? (C/C++)
摘要: 在C#、Java這種managed語言,因為有garbage collection,所以完全不用考慮free()或delete,但在C/C++,有時候要delete的,有時又不用,到底哪些改delete?哪些不用delete呢?阅读全文

posted @ 2007-02-22 15:41 真 OO无双 阅读(3380) | 评论 (0) 编辑

(原創) 如何將字串前後的空白去除? (C/C++) (template) (boost)
摘要: boost提供了很簡單的方式對字串做trim的動作。阅读全文

posted @ 2007-02-22 00:51 真 OO无双 阅读(4343) | 评论 (2) 编辑

(原創) 如何在Visual Studio 2005編譯boost 1.33.1? (C/C++) (VC++) (boost)
摘要: boost為超強的open source library,而且即將成為下一代C++的standard library,本文介紹如何在Visual Studio 2005下編譯boost。阅读全文

posted @ 2007-02-22 00:25 真 OO无双 阅读(1826) | 评论 (0) 编辑

(原創) association,aggregation,composition有什麼差別? (OO) (UML) (C/C++)
摘要: class之間有三種關係,inheritance,implementation和association。inheritance和implementation在C++、C#、Java都有直接支援,所以不難懂,但association,aggregation和composition在語言並沒有知接支援,到底三者有什麼差別呢?阅读全文

posted @ 2007-02-20 16:30 真 OO无双 阅读(25504) | 评论 (6) 编辑

(原創) 我對interface的理解 (C/C++) (OO) (Design Pattern)
摘要: 我一直覺得,當寫程式會用interface時,已經進步到了另外一個境界了,以下是我對interface的一些感悟,歡迎指證...。阅读全文

posted @ 2007-02-20 00:42 真 OO无双 阅读(6019) | 评论 (0) 编辑

(原創) 由一維陣列模擬二維陣列(多維陣列) (C/C++)
摘要: C/C++的陣列是有名的難用!!沒有『真正』支援多維陣列,陣列傳到參數時還必須寫死(C++若用template可不用寫死),若是動態的多維陣列就更難寫了,C/C++還必須到一定的功力才寫的出來!!既然C/C++骨子是用一維陣列『模擬』多維陣列,那我們就乾脆直接用一維陣列去『處理』多維陣列。阅读全文

posted @ 2007-02-19 21:52 真 OO无双 阅读(6380) | 评论 (0) 编辑

(轉貼) Java中最值得C++借鉴的特性s (C/C++) (Java)
摘要: 1995年出现的Java语言确实是一门伟大的语言,尽管它也不是完美的语言,而C++是一门比较"古老"的预言了,Java中有很多值得C++借鉴的东西。不知道未来的C++ 0x标准出来以后,C++会变成怎样?1.强大的反射机制和RTTI特性这个特性是当前流行的J2EE framework的基础,如Spring,Hibernate,无不利用了Java强大的反射机制。Java可以在运行期动态创建class...阅读全文

posted @ 2007-02-17 23:26 真 OO无双 阅读(803) | 评论 (1) 编辑

(轉貼) C++跨平台开发方法/工具 (C/C++)
摘要: 1. cygwin + vc vc当然用于来开发/调试windows程序的部分 cygwin是在windows平台模拟linux的工具,核心是cygwin1.dll, cygwin带的大部分工具,比如gcc/gdb都depend on这个dll。 从cygwin.com上下载setup.exe,然后从网上下载安装,比较慢,我花了大概一个下午才装好,记住下gcc/g++(默认不安装)。 ...阅读全文

posted @ 2007-02-17 22:50 真 OO无双 阅读(666) | 评论 (0) 编辑

(原創) 一個關於constructor的觀念問題 (C/C++) (.NET) (C#) (Java)
摘要: 一個在JavaWorld@TW有人發問的問題,雖然是Java,但在C++,C#都適用。阅读全文

posted @ 2007-02-16 15:22 真 OO无双 阅读(1368) | 评论 (1) 编辑

(轉貼) 完美的C++:C++/CLI (.NET) (C++/CLI) (C/C++)
摘要: 什么是C++/CLI呢?C++当然指的是Bjarne Stroustrup在BELL实验室发明的C++语言,它实现了运行时取得速度和尺寸最佳化的静态对象模型,然而它除了堆分配外不支持程序的动态修改,它准许无限地接近底层设备,但在程序运行过程中几乎无法操作活动类型,也无法操作与程序相关联的底层结构。Herb Sutter,C++/CLI的主要构造者之一,称C++是一门“混凝土”式的语言。阅读全文

posted @ 2007-02-16 11:31 真 OO无双 阅读(1178) | 评论 (0) 编辑

(原創) derived-class要怎麼呼叫base-class的constructor? (C/C++)
摘要: 有時我們在derived-class的constructor提供的參數,事實上是base-class的資料,或者base-class根本就是ABC(abstract base class),這時我們就得在derived-class的constructor去呼叫base-class的constructor。阅读全文

posted @ 2007-02-16 09:55 真 OO无双 阅读(943) | 评论 (0) 编辑

(原創) 為什麼derived-class會去執行base-class的default constructor? (C/C++)
摘要: 執行以下程式,會發現一個有趣的現象,明明我是呼叫了derived-class的constructor,為什麼會去執行base-class的default constructor呢?阅读全文

posted @ 2007-02-16 09:22 真 OO无双 阅读(987) | 评论 (0) 编辑

(原創) array傳進function該怎麼寫才好? (C/C++) (C)
摘要: 由於C/C++不像C#可直接從array身上取得array size,導致C/C++ developer須自己處理array size,以下是常見的幾種寫法。阅读全文

posted @ 2007-02-09 21:14 真 OO无双 阅读(22195) | 评论 (0) 编辑

(原創) 如何使用function template傳遞array? (C/C++) (template)
摘要: 將array傳進function,在C/C++一直是很重要的課題,在C語言中,array傳進function的是pointer,但array size一直是大問題,除了compiler不做檢查外,可能還得另外傳array size(C#則不必);C++提出reference array和function template後,有更好的方式解決這個C語言的老問題。阅读全文

posted @ 2007-02-09 14:54 真 OO无双 阅读(8938) | 评论 (0) 编辑

(原創) array可以使用reference方式傳進function嗎? (C/C++)
摘要: 任何型態皆可用C++新提出的reference傳進function,array除了使用pointer方式傳進function外,當然也可以使用reference。阅读全文

posted @ 2007-02-09 14:11 真 OO无双 阅读(9553) | 评论 (0) 编辑

(原創) 如何確保傳進function的array不被任意更改? (C/C++) (C)
摘要: 我們知道array是以pointer的形式傳進function後,pointer是以copy by value的方式傳進去,可以任意更改不會影響到原來的array,但對於array而言,卻是by adress的方式,可以透過此pointer去更改原來array內的值,該如何確保function不去更改原來array內的值呢?阅读全文

posted @ 2007-02-08 16:02 真 OO无双 阅读(529) | 评论 (0) 编辑

(原創) array和pointer一樣嗎? (C/C++) (C)
摘要: 由於array可以自動轉成pointer,所以很多人誤以為array就是pointer....阅读全文

posted @ 2007-02-08 06:59 真 OO无双 阅读(3541) | 评论 (1) 编辑

(原創) 在template parameter list中,該使用typename還是class? (C/C++) (template)
摘要: 在template parameter list中,可使用typename和class,到底有什麼差別呢?阅读全文

posted @ 2007-02-08 06:17 真 OO无双 阅读(518) | 评论 (0) 编辑

(原創) 如何在Visual Studio 2005開發ISO C++的Console Application? (C/C++) (VC++)
摘要: 大部分C/C++的書,都沒教怎麼用C/C++的IDE,C++ Primer 4th也沒提,當然可以用記事本寫程式,然後在DOS Prompt下編譯,別忘了你身邊就有一個超強的IDE可用: Visual Studio 2005,本篇將一步一步的示範如何使用。阅读全文

posted @ 2007-02-06 13:11 真 OO无双 阅读(2389) | 评论 (0) 编辑

(原創) 如何使用Standard Library作影像處理? (C/C++) (Image Processing)
摘要: 在昨天的Blog,我們使用了Standard Library讀寫bmp圖檔,其中的unsigned char *,雖然是一個一維陣列,但骨子是一個三維陣列,該如何實際的做影像處理呢?阅读全文

posted @ 2007-02-04 20:07 真 OO无双 阅读(14553) | 评论 (8) 编辑

(原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
摘要: 若要做影像處理,第一件事情就是要能將圖片讀進來變成array,才能套用各種演算法,之前我的作法是用.NET的GDI+,方便雖方便,但缺點就是被綁死在.NET平台,如作SW/HW CoDesign的SystemC,不能使用.NET,又如嵌入式系統,只能在Linux上使用gcc,有沒有僅使用C/C++ standard library,就能夠讀入圖形檔的方式呢?阅读全文

posted @ 2007-02-03 18:03 真 OO无双 阅读(25033) | 评论 (5) 编辑

(原創) 如何用C++開發ASP.NET? (.NET) (C++/CLI) (ASP.NET) (C/C++)
摘要: 很多人說C++無法開發ASP.NET,ANSI C++的確不能,但C++/CLI則可以,事實上,任何.NET下的語言都可以開發ASP.NET,雖然Visual Studio 2005工具不見的支援,但只要透過一些小技巧,你依然可以用妳喜歡的.NET語言開發ASP.NET。阅读全文

posted @ 2007-01-27 10:37 真 OO无双 阅读(6979) | 评论 (16) 编辑

(原創) C++的4個Class Access Label (C/C++)
摘要: OOP的三大特色:『繼承,封裝,多型』,C++使用了4個class access label實踐封裝:『public、protected、private、friend』。阅读全文

posted @ 2007-01-23 11:06 真 OO无双 阅读(1601) | 评论 (0) 编辑

(原創) 這學期C++完美的Ending (C/C++) (日記)
摘要: 今天是C++期末考,最後一題上機考很有意思,題目我就不敘述了,重點是,他將interface完全給你,完全要你實做該interface的程式,並且用到了STL,也就是說這學期教到的OOP和STL都用上了,非常完美的ending。阅读全文

posted @ 2007-01-20 02:13 真 OO无双 阅读(892) | 评论 (3) 编辑

(原創) 如何使用Function Object? (C/C++) (STL)
摘要: 很多STL algorithm都是_if結尾的,讓我們可以帶function進去,若配合function object,可讓function更有彈性!!阅读全文

posted @ 2007-01-18 02:39 真 OO无双 阅读(4372) | 评论 (0) 编辑

(原創) 如何使用Operator Overloading? (C/C++)
摘要: Operator Overloading讓我們可以自己定義Operator的功能,讓程式可以更精簡,C#也有,不過不是很強調,但C++非常強調Operator Overloading,這是C++的一大特色。阅读全文

posted @ 2007-01-18 01:46 真 OO无双 阅读(47925) | 评论 (1) 编辑

(原創) default constructor的迷思 (C/C++)
摘要: 我們知道若不寫default constructor,compiler會幫我們產生一個synthesized default constructor,那到底我們還要不要自己寫default constructor呢?阅读全文

posted @ 2007-01-17 11:09 真 OO无双 阅读(16599) | 评论 (0) 编辑

(原創) C++ Primer 4th與Modern C++ (C/C++)
摘要: C++ Primer 4th試圖用Modern C++改變傳統C++的寫法,不過現實並非如此....阅读全文

posted @ 2007-01-16 21:26 真 OO无双 阅读(771) | 评论 (0) 编辑

(原創) 為什麼C++須重新定義Copy Control? (C/C++)
摘要: C#、Java都沒有Copy Control,為什麼C++需要有Copy Control呢?阅读全文

posted @ 2007-01-15 01:19 真 OO无双 阅读(1441) | 评论 (0) 编辑

(原創) 哪些地方會用到Copy Constructor和Assignment Operator? (C/C++)
摘要: 為什麼有時候必須自己定義Copy Constructor?到底哪些地方會用到Copy Constructor?阅读全文

posted @ 2007-01-14 22:32 真 OO无双 阅读(10005) | 评论 (0) 编辑

(原創) 初學者使用Default Constructor容易犯的錯 (C/C++)
摘要: 若你之前先學其他語言如C#,看到C++使用Default Constructor的語法一定很訝異。阅读全文

posted @ 2007-01-14 11:41 真 OO无双 阅读(659) | 评论 (0) 编辑

(轉貼) C Standard Library (初級) (C/C++)
摘要: C語言標準函式庫阅读全文

posted @ 2007-01-14 11:02 真 OO无双 阅读(1250) | 评论 (0) 编辑

(原創) 如何印出1 2 3....10 9 8...1? (C/C++) (C)
摘要: 印出1 2 3....10 9 8...1,你能想出更好的方法嗎?阅读全文

posted @ 2007-01-14 04:14 真 OO无双 阅读(890) | 评论 (0) 编辑

(原創) 如何在constructor中使用default argument? (C/C++)
摘要: 在constructor中使用default argument,會使的程式更簡潔。阅读全文

posted @ 2007-01-14 00:06 真 OO无双 阅读(539) | 评论 (0) 编辑

(原創) C++若參考到的class在其他檔案,須手動#include,C#則不必 (C/C++) (.NET) (C#)
摘要: 對C++ Programer來說,這是一個很白痴的標題,但對C# Programmer來說,卻是不同的感受...阅读全文

posted @ 2007-01-13 22:43 真 OO无双 阅读(6258) | 评论 (1) 编辑

(原創) 如何撰寫inline member function? (C/C++)
摘要: 本文示範C++ inline member function的幾種寫法。阅读全文

posted @ 2007-01-13 16:26 真 OO无双 阅读(3172) | 评论 (0) 编辑

(原創) 什麼是物件導向(Object Oriented)? (OO) (C/C++) (.NET) (C#) (Database) (Visual FoxPro)
摘要: 什麼是物件導向(Object Oriented)?一個好基本的問題,卻困擾了我10年之久...阅读全文

posted @ 2007-01-13 00:38 真 OO无双 阅读(22547) | 评论 (0) 编辑

(轉貼) C++,C#,Java功能比較 (.NET) (C#) (C/C++)
摘要: 三種語言功能的比較...阅读全文

posted @ 2007-01-08 01:33 真 OO无双 阅读(2843) | 评论 (0) 编辑

(原創) 如何將int轉string? (C/C++) (C)
摘要: C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。阅读全文

posted @ 2007-01-06 11:18 真 OO无双 阅读(102977) | 评论 (2) 编辑

(轉貼) 送给c++程序员的一份礼物——常用工具集 (C/C++)
摘要: 本文主要是针对c++程序员的,但一些综合类的通用型工具/软件,作为c++程序员而言也是不可或缺的,因此也被列入其中。同样,这些工具/软件,对其他语言的程序员,也是适用的。阅读全文

posted @ 2007-01-06 09:37 真 OO无双 阅读(1104) | 评论 (1) 编辑

(原創) 如何用C++實作eval()? (C/C++)
摘要: C/C++和C#都屬於靜態語言,都沒有提供如JavaScript和VFP的eval(),此範例試著用C++寫出eval()...阅读全文

posted @ 2007-01-06 01:36 真 OO无双 阅读(4203) | 评论 (0) 编辑

(原創) 其實C語言使用char array當string也是有他的優點 (C/C++) (C)
摘要: 沒有一個語言如C語言那樣,竟然沒有內建string型別,竟然要靠char array來模擬,不過今天我發現這種方式也是有他的優點。阅读全文

posted @ 2007-01-05 02:08 真 OO无双 阅读(19837) | 评论 (0) 编辑

(原創) C/C++的function prototype和header file (C/C++) (C)
摘要: C/C++除了pointer外,function prototype和header file也是C/C++的一大特色。阅读全文

posted @ 2007-01-01 11:18 真 OO无双 阅读(6613) | 评论 (0) 编辑

(轉貼) A Beginner's Guide to Pointers (C/C++) (C)
摘要: 一篇對C/C++ pointer有整體介紹的好文章,淺顯易懂,讓你可以馬上『見到樹林』...阅读全文

posted @ 2006-12-30 19:55 真 OO无双 阅读(1052) | 评论 (0) 编辑

(原創) C語言初學者建議的書籍 (C/C++) (C)
摘要: C語言書籍眾多,哪些才是值得看的Bible呢?阅读全文

posted @ 2006-12-30 12:06 真 OO无双 阅读(2874) | 评论 (2) 编辑

(原創) 當array傳至function時,是pass by value還是pass by address? (C/C++) (C)
摘要: 當學會C/C++用pointer實作pass by address後,再看到array傳進function,直覺會馬上問自己,到底array傳進function是用pass by value還是pass by address?阅读全文

posted @ 2006-12-28 00:33 真 OO无双 阅读(8968) | 评论 (1) 编辑

(原創) 如何對有Noise圖片做Median Filter? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: 本範例demo如何對Noise圖片做Median Filter...阅读全文

posted @ 2006-12-21 09:33 真 OO无双 阅读(4924) | 评论 (2) 编辑

(原創) 如何對圖片加入Salt and Pepper Noise? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: 本範例demo如何對圖片加入Salt and Pepper Noise...阅读全文

posted @ 2006-12-21 07:49 真 OO无双 阅读(4723) | 评论 (3) 编辑

(原創) 如何對有Noise圖片做Box Filter? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: Box Filter會試圖將Noise圖片做一定程度的糢糊化...阅读全文

posted @ 2006-12-20 21:52 真 OO无双 阅读(1774) | 评论 (0) 编辑

(原創) 如何計算SNR (signal-to-ratio)? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: 將SNR公式用C++/CLI實現。阅读全文

posted @ 2006-12-20 18:47 真 OO无双 阅读(11935) | 评论 (9) 编辑

(原創) 如何對圖片加入Gaussian Noise? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: 此範例demo如何對圖片加入Gaussian Noise...阅读全文

posted @ 2006-12-19 21:46 真 OO无双 阅读(5413) | 评论 (1) 编辑

(原創) 將所有的include都寫在.h中,可避免重複include (C/C++) (C)
摘要: 如std::string,在.h宣告時會用到,而在.cpp實作時也用到,若在.h和.cpp都去#include ,這樣又重複include了,枉費我們辛苦的在.h用header guard....。阅读全文

posted @ 2006-12-18 10:53 真 OO无双 阅读(2153) | 评论 (0) 编辑

(原創) 如何讀取文字檔? (C/C++) (STL)
摘要: 讀取文字檔有很多方式,在此歸納出最精簡的程式寫法。阅读全文

posted @ 2006-12-17 20:09 真 OO无双 阅读(28196) | 评论 (1) 编辑

(原創) 如何使用reverse_iterator? (C/C++) (STL)
摘要: STL提供了reverse_iterator,讓你反過來處理container中的iterator...阅读全文

posted @ 2006-12-17 19:50 真 OO无双 阅读(3573) | 评论 (0) 编辑

(原創) CSS就是一種泛型的實做 (C/C++) (template) (Web) (CSS)
摘要: 我的網友Allen Kuo看了我的淺談泛型設計的文章,希望我用實際的程式來表達出泛型的威力,在用實際的程式demo之前,我發現我們身邊就有一個經典的泛型實做:CSS。阅读全文

posted @ 2006-12-17 00:16 真 OO无双 阅读(497) | 评论 (0) 编辑

(原創) 如何列出multimap中某個key的所有value? (C/C++) (STL)
摘要: multimap提供了三種方式列出某個key的所有value。阅读全文

posted @ 2006-12-16 22:19 真 OO无双 阅读(5536) | 评论 (6) 编辑

(原創) 如何找出兩個container中相同元素的個數? (C/C++) (STL)
摘要: find_first_of() algorithm強的地方就是能從一個container中所有元素中去搜尋另外一個container,利用find_first_of()可找出兩個container中相同元素的個數。阅读全文

posted @ 2006-12-14 17:05 真 OO无双 阅读(871) | 评论 (0) 编辑

(原創) 如何使用find_first_of() algorithm? (C/C++) (STL)
摘要: find() algorithm一次只能找一個條件,若要同時找多個條件,需使用find_first_of()。阅读全文

posted @ 2006-12-14 15:25 真 OO无双 阅读(2576) | 评论 (0) 编辑

(原創) 要學習C++,絕對要好好把握求學的時間!! (C/C++) (日記)
摘要: 很多東西,都可以工作後再學,如.NET,如C#,但C++絕對要把握求學的時間認真學好,為什麼呢?阅读全文

posted @ 2006-12-14 10:38 真 OO无双 阅读(912) | 评论 (0) 编辑

(原創) 如何使用multimap? 如何使用StringStream解析文字檔? (C/C++) (STL)
摘要: map迷人之處在於一次存key和value兩個值,且key是唯一的,但若遇到key可重複的情況呢?STL另外提供了multimap...阅读全文

posted @ 2006-12-14 10:27 真 OO无双 阅读(3995) | 评论 (0) 编辑

(原創) 將map輸出到cout,是否有更方便的方法? (C/C++) (STL)
摘要: 大家都體會過sequential container搭配copy() algorithm,只要一行程式就可以將所有值輸出到cout,map這種associative container就無法用這一招,是否有其它方式解決呢?阅读全文

posted @ 2006-12-14 09:16 真 OO无双 阅读(1477) | 评论 (0) 编辑

(轉貼) SC_METHOD(), SC_THREAD(), SC_CTHREAD()三者的比較 (C/C++) (SystemC)
摘要: SystemC提供了三種Process:SC_METHOD(), SC_THREAD(), SC_CTHREAD(),這三者有何差異呢?阅读全文

posted @ 2006-12-13 15:13 真 OO无双 阅读(2436) | 评论 (1) 编辑

(原創) 如何寫一個加法器? (C/C++) (SystemC) (IC Design)
摘要: 寫一個硬體的加法器,幾乎就跟軟體的HelloWorld一樣,是最基本的程式,此範例Demo如何用SystemC寫一個加法器。阅读全文

posted @ 2006-12-13 11:52 真 OO无双 阅读(3237) | 评论 (0) 编辑

(原創) 2 dim array該如何完全使用pointer存取? (C/C++) (C)
摘要: 在C/C++語言中,pointer和array是一體兩面的東西,理論上array所有的寫法,都可以用pointer取代,只是array的寫法程式可讀性較高,但還是有程序員喜歡用pointer,所以還是得了解。阅读全文

posted @ 2006-12-12 07:39 真 OO无双 阅读(1216) | 评论 (0) 编辑

(原創) 如何使用remove_copy_if() algorithm? (C/C++) (STL)
摘要: STL algorithm中,並沒有copy_if()可用,但可用remove_copy_if()達到要求。阅读全文

posted @ 2006-12-11 12:35 真 OO无双 阅读(999) | 评论 (0) 编辑

(原創) 如何使用unique() algorithm? (C/C++) (STL)
摘要: 初學者學unique()會覺得很困擾,發現結果並非unique....阅读全文

posted @ 2006-12-11 10:54 真 OO无双 阅读(4572) | 评论 (1) 编辑

(原創) 淺談泛型程式設計 (C/C++) (template)
摘要: 泛型對於C#、Java程序員,是個完全陌生的領域,我試著用最簡單的比喻解釋什麼是泛型程式設計GP。阅读全文

posted @ 2006-12-10 10:40 真 OO无双 阅读(2696) | 评论 (2) 编辑

(原創) 如何使用for_each() algorithm? (C/C++) (STL)
摘要: C++沒提供foreach語法,但提供了for_each() algorithm,這和transform() algorithm有什麼不同呢?阅读全文

posted @ 2006-12-10 04:10 真 OO无双 阅读(644) | 评论 (0) 编辑

(原創) 如何使用transform() algorithm? (C/C++) (STL)
摘要: 使用STL的最高境界,就是程式中看不到for和while loop,完全用STL algorithm搞定,transform() algorithm是其中最常用的algorithm之一。阅读全文

posted @ 2006-12-10 03:52 真 OO无双 阅读(6576) | 评论 (3) 编辑

(原創) 如何使用stable_sort() algorithm? (C/C++) (STL)
摘要: 此範例demo stable_sort()的用法,並且解釋其和sort() algorithm的相異之處。阅读全文

posted @ 2006-12-10 02:59 真 OO无双 阅读(5306) | 评论 (1) 编辑

(原創) 如何利用copy() algorithm將array輸出到cout? (C/C++) (STL)
摘要: STL的Algorithm除了用在STL的Container外,也能用在array喔!!阅读全文

posted @ 2006-12-10 01:23 真 OO无双 阅读(925) | 评论 (0) 编辑

如何使用istream_iterator將文字檔轉到vector? (C/C++) (STL)
摘要: stream_iterator除了能用在cin,還可以用在fstream和stringstream,此範例使用stream_iterator搭配copy() algorithm,將文字檔轉到vector,再從vector輸出到文字檔,只需3行程序,STL真是太神奇了。阅读全文

posted @ 2006-12-07 14:46 真 OO无双 阅读(912) | 评论 (0) 编辑

如何使用istream_iterator将cin转到vector? (C/C++) (STL)
摘要: 使用stream_iterator搭配copy() algorithm,输入到vector,再从vector输出,只需3行程序,STL真是太神奇了。阅读全文

posted @ 2006-12-07 12:06 真 OO无双 阅读(3173) | 评论 (2) 编辑

(原創) C++/CLI绝非垃圾语言!! (.NET) (C++/CLI) (C/C++)
摘要: C++/CLI和C#真的是『既生瑜,何生亮』,既然有了从C++进化而来的C#,为什么Microsoft还要弄个C++/CLI呢?C++/CLI真的是垃圾语言吗?阅读全文

posted @ 2006-12-06 17:10 真 OO无双 阅读(3918) | 评论 (10) 编辑

(原創) 如何产生Yokoi Connectivity Number? (.NET) (C++/CLI) (C/C++) (Image Processing)
摘要: 本范例先将leng.jpg轉成binary image,然後从512*512 downsampling成64*64,downsampling的规则为以8*8为unit,取topmost-left为downsampled data,最后产生Yokoi Connectivity Number。阅读全文

posted @ 2006-12-06 00:20 真 OO无双 阅读(1342) | 评论 (0) 编辑

(原創) 如何让一个thread在背景不断的执行? (使用semaphore) (OS) (Linux) (C/C++) (C)
摘要: 要让一个thread在背景不断的执行,最简单的方式就是在该thread执行无穷回圈,如while(1) {},这种写法虽可行,却会让CPU飙高到100%,因为CPU一直死死的等,其实比较好的方法是,背景平时在Sleep状态,当前景呼叫背景时,背景马上被唤醒,执行该做的事,做完马上Sleep,等待前景呼叫。当背景sem_wait()时,就是马上处于Sleep状态,当前景sem_post()时,会马上换起背景执行,如此就可避免CPU 100%的情形了。阅读全文

posted @ 2006-12-04 01:02 真 OO无双 阅读(3775) | 评论 (0) 编辑

(原創) 如何建立一个thread? (OS) (Linux) (C/C++) (C)
摘要: 此范例demo如何在Linux下建立一个thread。阅读全文

posted @ 2006-12-03 20:48 真 OO无双 阅读(5985) | 评论 (0) 编辑

(轉載) 英中繁簡編程術語對照 (C/C++)
摘要: 侯捷所提供的繁簡C/C++專有名詞翻譯對照表。阅读全文

posted @ 2006-11-30 10:15 真 OO无双 阅读(9947) | 评论 (0) 编辑

(原創) 写一个字符串相加产生整数的function (C/C++)
摘要: Homework 6 & Midterm 1Write a function int AtoiPlus(const char*, const char*) that takes two C-style strings containing int digit and return the corresponding int. For example, AtoiPlus("123", "4") re...阅读全文

posted @ 2006-11-29 18:10 真 OO无双 阅读(440) | 评论 (0) 编辑

(原創) while(c = getch()) 为什么可以这样写? (C/C++) (C) (OS) (Linux)
摘要: 凡是C语言的初学者,刚谈到简单的IO时,都会学到以下的程序,只要使用者输入什么,就印什么。 1#include 23int main() {4 char c;5 while(c = getch()) {6 printf("%c\n",c);7 }8} 当我第一次看到这种写法时,非常的震惊,马上改写成C#测试,当然连compile都不会过,为什么C语言可以这样写呢?若将以上程序改写一般语...阅读全文

posted @ 2006-11-29 02:32 真 OO无双| 编辑

(原創) 标准的makefile写法 (C/C++)
摘要: 一个很典型的Linux C/C++的makefile写法,其它的应用可根据此template修改。阅读全文

posted @ 2006-11-29 01:46 真 OO无双 阅读(3058) | 评论 (1) 编辑

(原創) 如何在curses中使用getch()? (OS) (Linux) (C/C++) (C)
摘要: getch()原來在,但現在只有在提供,需配合curses的寫法。阅读全文

posted @ 2006-11-29 01:42 真 OO无双 阅读(1731) | 评论 (0) 编辑

(原創) 如何将秒数转换成day?hour?min?...(localtime()) (C/C++) (C)
摘要: .NET Framework的DateTime型别本身就有转Day,Hour,Minute等Method,所以要转十分方便。但C/C++呢?阅读全文

posted @ 2006-11-26 16:10 真 OO无双 阅读(1437) | 评论 (0) 编辑

(原創) 如何抓出小数部份第n位数字? (C/C++)
摘要: C/C++的Library似乎都没这个功能,我就自己写了一个小Function。阅读全文

posted @ 2006-11-26 15:15 真 OO无双 阅读(309) | 评论 (0) 编辑

(原創) 如何使用queue? (C/C++) (STL)
摘要: 此范例demo如何使用STL的queue container,要将数据加进queue时,只要用q.push(item)即可,但要取出数据时,并不是用q.pop(),而是用q.front()取出最前面的数据,q.pop()则是将最前面的数据取出queue,其回传值为void。阅读全文

posted @ 2006-11-26 00:22 真 OO无双 阅读(37208) | 评论 (1) 编辑

(原創) 如何每间格一段时间就执行function? (setitimer()) (C/C++) (C) (OS) (Linux)
摘要: setitimer()为Linux的API,并非C语言的Standard Library,setitimer()有两个功能,一是指定一段时间后,才执行某个function,二是每间格一段时间就执行某个function,以下程序demo如何使用setitimer()。阅读全文

posted @ 2006-11-25 17:34 真 OO无双 阅读(7584) | 评论 (1) 编辑

(原創) 如何对array或struct做初始化? (memset()) (C/C++) (C)
摘要: 当宣告C/C++的built-in type后,必须马上initialize该变量的值,因为C/C++在宣告变量时,仅为该变量配置了一块内存,却没对该变量设定任何初始值,所以该变量目前的值为宣告该变量前所残留的值,虽可直接使用该变量,但并没有任何意义。有沒有辦法快速的設定array,struct的初始值呢?
阅读全文

posted @ 2006-11-25 15:19 真 OO无双 阅读(15402) | 评论 (1) 编辑

(原創) 在Embedded System开发该用C还是C++? (C/C++) (C)
摘要: C++的功能强大无庸置疑,程序写起来也比C高阶且精简很多,但代价是编出的执行档越来越臃肿,我在Linux下写了两个以下的小程序作编译,功能完全一样,但执行档大小已经有差别了。阅读全文

posted @ 2006-11-25 11:00 真 OO无双 阅读(711) | 评论 (0) 编辑

(原創) C语言果然是不会死的语言 (C/C++) (C) (IC Design) (DE2) (Nios II)
摘要: 今天作软硬件共同设计的Lab,将CPU设计好后,烧进Altera的Cyclone II芯片中,用以下简单的C语言程序测试CPU是否设计成功。阅读全文

posted @ 2006-11-23 15:11 真 OO无双 阅读(2260) | 评论 (6) 编辑

(原創) 如何使用C++/CLI对图片做Grayscale Closing? (.NET) (C++/CLI) (C/C++) (Image Processing)
摘要: Closing的算法是:先对图片做Dilation,将结果再做Erosion,其目的在消除影像中的hole。 1#include "stdafx.h" 2#include 3#include 4 5using namespace System::Drawing; 6using namespace System::Drawing::Imaging; 7 8typedef std...阅读全文

posted @ 2006-11-22 02:21 真 OO无双| 编辑

(原創) 如何使用C++/CLI对图片做Grayscale Opening? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: Opening的算法是:先对图片做Erosion,将结果再做Dilation,其目的在消除影像中的小杂点。阅读全文

posted @ 2006-11-22 01:48 真 OO无双 阅读(1250) | 评论 (0) 编辑

(原創) 如何使用C++/CLI对图片做Grayscale Erosion? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: 原理和Grayscale Dilation类似,只是Erosion是找minimun。阅读全文

posted @ 2006-11-22 01:24 真 OO无双 阅读(1664) | 评论 (3) 编辑

(原創) C++/CLI转BCB心得报告 (C/C++) (.NET) (C++/CLI)
摘要: 这次的计算机视觉作业,我是用C++/CLI写,同学是用BCB写,由于缴交期限是今天下午两点,但他还没写出来,我只好试着将我用C++/CLI写的作业改成BCB给他,虽然都是C++,但我也没把握是否能够顺利『移植』。阅读全文

posted @ 2006-11-21 16:35 真 OO无双 阅读(1090) | 评论 (0) 编辑

(原創) 如何使用C++/CLI对图片做Grayscale Dilation? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
摘要: 这是我第一次用C++/CLI真正写出一个有用的程序,主要是因为想用STL Generic Algorithm,又想用GDI+,只好放弃C#改用C++/CLI啦。阅读全文

posted @ 2006-11-21 00:24 真 OO无双 阅读(2211) | 评论 (1) 编辑

(原創) 如何使用C++/CLI读/写jpg檔? (.NET) (C++/CLI) (GDI+) (C/C++) (Image Processing)
摘要: 因为Computer Vision的作业,之前都是用C# + GDI+写,但这次的作业要做Grayscale Dilation,想用STL的Generic Algorithm写,但C++ Standard Library并无法读取jpg档,用其它Library又比较麻烦,所以又回头想到GDI+,能同时使用STL和GDI+的,也只有C++/CLI了,我想这也是C++/CLI的优势之一,可以让你同时发挥.NET Framework和STL的power,以下的范例demo如何使用C++/CLI配合GDI+将jpg档读进来,并写入jpg檔。阅读全文

posted @ 2006-11-19 21:43 真 OO无双 阅读(5225) | 评论 (6) 编辑

(原創) 如何使用for_each() algorithm? (C/C++) (STL)
摘要: 很怀念VB和C#的foreach语法吗?对于C++只能用for语法造成程序冗长觉得很烦吗?foreach的确对于container而言非常好用且精简,C++/CLI已经增加上了for each语法了,事实上,C++也可使用foreach喔,STL提供了for_each() algorithm,可以弥补这个缺憾。
阅读全文

posted @ 2006-11-19 12:12 真 OO无双 阅读(3290) | 评论 (0) 编辑

(原創) 如何将字符串前后的空白去除? (使用string.find_first_not_of, string.find_last_not_of) (C/C++)
摘要: 这在字符串处理是很常用的功能,.NET Framework的String class直接提供Trim()的method,其它语言也大都有提供(VB、VFP),但C++无论Standard Library或STL都找不到相对应方法,以下的方式是由希冀blog中的C++中如何去掉std::string对象的首尾空格 改编而来,加上了pass by reference适合function使用,其中std::string所提供的find_first_not_of()和find_last_not_of()真是大开眼界,竟然还有这种method,可以找寻第一个不符合条件的位置,我在其它语言都还没见过这样的function。阅读全文

posted @ 2006-11-17 23:52 真 OO无双 阅读(5765) | 评论 (0) 编辑

(轉貼) 寶蘭開發工具部門將分割成完全獨立的子公司 (C/C++) (News)
摘要: 根據寶蘭BDN於11月14日發佈的新聞稿(還有另一份以FAQ呈現的新聞稿),原本打算在今年二月求售的開發工具部門(Developer Tools Group),寶蘭也預計將在九月公佈買主,但現在決定不賣了,而會在2007年初分割成完全獨立的子公司,公司名稱定為CodeGear。阅读全文

posted @ 2006-11-17 20:41 真 OO无双 阅读(251) | 评论 (1) 编辑

(轉貼) 什麼是SystemC? (IC Design) (C/C++) (SystemC)
摘要: 當SystemC語言以一種新的開放原始碼語言在1999年問世時,給設計工程師中帶來了不小的困惑。什麼是SystemC?一種硬體設計語言?如果是的話,怎麼能是以C++為基礎的呢?一種行為級語言?那麼它為什麼又這麼像RTL?它會不會取代Verilog和VHDL?其關鍵問題就在於它到底是做什麼的? 阅读全文

posted @ 2006-11-17 20:26 真 OO无双 阅读(4051) | 评论 (0) 编辑

(原創) 如何使用find() algorithm? (C/C++) (STL)
摘要: find()能在container中,尋找單一的值,若找的到,傳回該iterator,若找不到,則傳回container.end()。阅读全文

posted @ 2006-11-16 15:32 真 OO无双 阅读(2413) | 评论 (0) 编辑

(原創) 如何使用remove() algorithm? (C/C++) (STL)
摘要: remove()將移除container中所有的指定元素,但基於不改變Contaier size的原則,remove()只是將要移除的元素搬到contaier後面,若要真正移除,還要搭配contaier.erase()。阅读全文

posted @ 2006-11-16 15:22 真 OO无双 阅读(1394) | 评论 (0) 编辑

(原創) 是否该将local variable宣告在funtion body的最前面? (C/C++) (C)
摘要: 有很多人习惯将local variable宣告在function body的最前面,甚至很多source code和书也都这样写,但事实上这并不是一个好的practice。阅读全文

posted @ 2006-11-16 08:37 真 OO无双 阅读(472) | 评论 (0) 编辑

(原創) 为什么在header file中,要使用fully qualified library name? (C/C++)
摘要: The content of a header are copied into our program text by the preprocessor. When we #include a file, it is as if the exact header, it is equivalent to placing the same using declaration in every pro...阅读全文

posted @ 2006-11-16 02:51 真 OO无双 阅读(249) | 评论 (0) 编辑

(原創) 何谓const member function? (C/C++)
摘要: const member function是C++独有的,(C语言、C#皆没有,但Java不确定),事实上,C++是一个非常重视const的语言,很多地方都可见到const的踪迹。阅读全文

posted @ 2006-11-16 02:31 真 OO无双 阅读(6884) | 评论 (1) 编辑

(原創) 如何使用subscripting的方式新增std::map? (C/C++) (STL)
摘要: std::map提供了两种新增element的方式,一种是c.insert(),和其它container一样,另外一种则是subscripting。阅读全文

posted @ 2006-11-16 01:00 真 OO无双 阅读(673) | 评论 (0) 编辑

(原創) 为什么说iterator是left inclusive? (C/C++) (STL)
摘要: 因为c.begin()是第一个element,但c.end()并不是最后一个element,而是one past the end,所以c.end()并不是iterator.若以符号表示,则是 [first,last)the range begin with first and ends with, but not include, last.Reference C++ Primer 4th P.3...阅读全文

posted @ 2006-11-15 23:20 真 OO无双 阅读(250) | 评论 (0) 编辑

(原創) 在C++中,string literal是什么型别? (C/C++)
摘要: 在C++中,string literal的型别并不是std::string,而是C语言的const char*。阅读全文

posted @ 2006-11-15 23:02 真 OO无双 阅读(544) | 评论 (0) 编辑

(原創) 使用std::vector模拟std::stack? (C/C++) (STL)
摘要: 实务上并不会用std::vector去模拟std::stack,这是我修C++在Lab上的一个练习,要我们用std::vector去模拟std::stack,还蛮有趣的。阅读全文

posted @ 2006-11-15 16:36 真 OO无双 阅读(987) | 评论 (0) 编辑

(原創) 如何删除std::vector内的element?(使用find) (C/C++) (STL)
摘要: 若要删除std::vector中的element,正规的方式该用find() generic algorithm,若find()找到了,会传回该iterator,若找不到,将传回vector.end()。这种写法远比用for loop干净很多。阅读全文

posted @ 2006-11-15 15:26 真 OO无双 阅读(6033) | 评论 (0) 编辑

(原創) 如何将array转成std::vector? (使用vector.insert) (C/C++) (STL)
摘要: 使用vector.insert將array轉vector,雖然也是一行完成,但不是那麼直觀,建議還是用constructor的方式將array轉std::vector。阅读全文

posted @ 2006-11-15 13:16 真 OO无双 阅读(2170) | 评论 (0) 编辑

(轉貼) C++/CLI Language Specification (ECMA-372) (.NET) (C++/CLI) (C/C++)
摘要: 由于目前市面上还没有C++/CLI的书籍,唯一可参考的就是这份C++/CLI Specification (ECMA-372)阅读全文

posted @ 2006-11-13 08:21 真 OO无双 阅读(1108) | 评论 (2) 编辑

(原創) include了不必要的Header File,是否會增加編譯後程式的大小呢? (C/C++) (C)
摘要: 摘自C語言教學手冊 P2-6,洪維恩著 編譯器會依您所撰寫的程式內容自己到所含括進來的標頭檔去擷取所需要的資訊,而沒有使用到的資訊則不屬於這個程式的範圍,故不會增加程式碼的大小‧當然,我們也沒有必要含括一些沒有必要的標頭檔到程式來,因為這只會徒增程式閱讀的困擾‧阅读全文

posted @ 2006-11-12 00:23 真 OO无双 阅读(794) | 评论 (1) 编辑

(原創) 如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)
摘要: A. 为什么要在Linux使用Eclipse开发C/C++程序? Linux是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在Linux下开发程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。 这种开发方式生产力并不高,若只是开发学习用的小程序则...阅读全文

posted @ 2006-11-11 17:59 真 OO无双 阅读(50226) | 评论 (8) 编辑

(轉貼) Eclipse + CDT + MinGW 安裝方法 (C/C++) (gcc) (g++) (OS) (Windows)
摘要: Eclipse除了可以開發Java之外,還支援了許多語言,當然絕不會漏了 C/C++,現在就來看看如何利用 Eclipse 進行C/C++程式的開發。要使用 Eclipse 開發c/c++ 程式最主要的幾個步驟: 1. 安裝 JRE由於 Eclipse 本身是用 Java 開發而成,因此自然需要使用到 JRE,如果先前已經安裝過了就可以不必安裝了。2. 安裝 Eclipse這當然沒問題,一定要裝...阅读全文

posted @ 2006-11-10 21:50 真 OO无双 阅读(17577) | 评论 (0) 编辑

(轉貼) C++ 完全不完全资源导引--书籍篇 (C/C++)
摘要: 三军未动,资料先行。书山碟海,只列其中最好的。统统都可以emule找到。1.快速入门 〈Accelerated.C++〉2000 〈Essential C++〉2002 Lipman 两本都是开篇就讲C++/STL,绝口不提C,而且都有中文版。2.枕头参考 〈C++.Primer.4th〉2005 Lippman,第3版有中文版,当入门书看也无不可。 〈The.C++.Pro...阅读全文

posted @ 2006-11-10 08:14 真 OO无双 阅读(317) | 评论 (0) 编辑

(轉貼) C++资源之不完全导引 (C/C++)
摘要: C++资源之不完全导引 1,前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……...阅读全文

posted @ 2006-11-10 08:02 真 OO无双 阅读(493) | 评论 (0) 编辑

(轉貼) 高质量C++/C编程指南 (C/C++)
摘要: 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐 2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐 2001-7-18至 2001-7-24 朱洪海审查V 0.9, 林锐修正草稿中的错误 目 录 前 言... 6...阅读全文

posted @ 2006-11-10 07:35 真 OO无双 阅读(580) | 评论 (0) 编辑

(原創) std::vector与std::list的执行速度比较 (C/C++) (STL)
摘要: STL中的container各有专长,最常用的是std::vector,可以完全取代array,第二常用的是std::list。std::vector的优点在于non-sequential access超快,新增数据于数据后端超快,但insert和erase任意资料则相当缓慢;std::list则是insert和erase速度超快,但non-sequential access超慢,此范例以实际时间比较vector和list间的优缺点。阅读全文

posted @ 2006-11-09 00:05 真 OO无双 阅读(13949) | 评论 (3) 编辑

(原創) 如何對程式片段進行效能測試(benchmark) (C/C++) (C)
摘要: 用此方法可簡單的做benchmark。阅读全文

posted @ 2006-11-08 00:07 真 OO无双 阅读(1085) | 评论 (0) 编辑

(原創) 用OOP实作矩阵相乘 (C/C++)
摘要: 这是我修C++的第四次作业第一题,要我们从档案读进两个矩阵,最后相乘显示结果。此程序主要展示了用OOP的方式计算矩阵,且用了STL的vector,而非传统的array。
阅读全文

posted @ 2006-11-02 00:40 真 OO无双 阅读(886) | 评论 (0) 编辑

(原創) Object是由Property、Method、Event构成的吗? (C/C++) (OO) (Database) (Visual FoxPro)
摘要: 在以前学VFP和VB时,很多书谈到object,都说object包含三部份Property(属性),Method(方法),Event(事件),对于VFP和VB的Control来说,的确是如此没错,我也因此视为当然,认为Property、Method、Event合起来称为PEM,此为object构成的要素。所以以前在分析对象时,总对何者该为Property,何者该为Event想破头。阅读全文

posted @ 2006-10-23 09:30 真 OO无双 阅读(756) | 评论 (0) 编辑

(轉貼) C++必读Bible (C/C++)
摘要: 原作者為oosky,载于http://www.cppblog.com/oosky/archive/2005/11/07/966.html我再加以排版潤色 1. > Bjarne Stroustrup 这是一本每个人都应该买但不一定要看的书,强烈建议初学者不要看这本书,否则可能会一头雾水,失去信心,BS写书本来就不怎么样,他自己都说他的书有些晦涩难懂,但是买一本放在书柜里,有什么不清楚的地方查查高...阅读全文

posted @ 2006-10-22 17:50 真 OO无双 阅读(1374) | 评论 (0) 编辑

(原創) pointer和reference有什么差别呢? (C/C++)
摘要: C++引進了reference概念,這和傳統C的pointer有什麼差別呢?阅读全文

posted @ 2006-10-22 01:21 真 OO无双 阅读(8586) | 评论 (1) 编辑

(原創) 何谓可读性高的程序? (C/C++)
摘要: 大家都知道要写可读性高的程序,但何谓可读性高的程是呢?阅读全文

posted @ 2006-10-21 23:55 真 OO无双 阅读(478) | 评论 (0) 编辑

(原創) Write once, compile everywhere? (C/C++) (SystemC) (VC++) (IC Design)
摘要: 這兩天寫SystemC的第一個作業,其實花最多時間是在Compiler身上。由於SystemC本身並不是一個程式語言,而是架構在C++上,利用C++的Generics特性擴充其Library,使C++搖身一變成為HDL,且SystemC也沒有自己的IDE和Compiler,理論上只要是C++的Compiler就可以compile所有SystemC的code。阅读全文

posted @ 2006-10-20 17:39 真 OO无双 阅读(2192) | 评论 (4) 编辑

(原創) 第一个SystemC的程序:Hello World (C/C++) (SystemC) (IC Design)
摘要: 1// All systemc modules should include systemc.h header file 2#include "systemc.h" 3// Hello_world is module name 4SC_MODULE (HelloWorld) { 5 SC_CTOR (HelloWorld) { 6 // Nothing in constructor 7...阅读全文

posted @ 2006-10-18 09:09 真 OO无双 阅读(1570) | 评论 (2) 编辑

(轉貼) 如何设定SystemC的Project环境? (C/C++) (SystemC) (VC++) (IC Design)
摘要: Creating SystemC Applications----------------------------- 1. Start Visual Studio. From the Start Page select New Project and Win32 Console Project. Type the project name and select a suitable locatio...阅读全文

posted @ 2006-10-18 08:36 真 OO无双 阅读(1644) | 评论 (0) 编辑

(轉貼) 如何在Visusl Studio.NET 2003编译SystemC的Library? (C/C++) (SystemC) (VC++) (IC Design)
摘要: Visual C++ 7.1--------------The download directory contains two subdirectories: 'msvc71' and 'examples'. The 'msvc71' directory contains the project and workspace files to compile the 'systemc.lib' li...阅读全文

posted @ 2006-10-18 08:13 真 OO无双 阅读(1070) | 评论 (0) 编辑

(原創) 如何將std::string轉成大寫(小寫)? (C/C++) (STL) (C)
摘要: C++的Standard Library並沒有提供將std::string轉成大寫和小寫的功能,只有在提供將char轉成大寫(toupper)和小寫(tolower)的功能而已,在此利用STL的transform配合toupper/tolower,完成std::string轉換大(小)寫的功能,也看到Generics的威力,一個transform function,可以適用於任何型別,且只要自己提供
Algorithm,就可完成任何Transform的動作。
阅读全文

posted @ 2006-10-15 14:22 真 OO无双 阅读(21380) | 评论 (5) 编辑

(原創) 如何将array转成std::vector? (使用constructor) (C/C++) (STL)
摘要: 由于C++兼容于C,为了用C++维护以前用C写的程序,可能会遇到用C写的array,但C++的std::vector远比array好用,所以可能必须将array转成std::vector继续维护,以下的程序demo如何将array转成std::vector。阅读全文

posted @ 2006-10-12 20:55 真 OO无双 阅读(2682) | 评论 (1) 编辑

(原創) i++和++i哪个速度较快? (C/C++) (C)
摘要: ++i和i++哪个速度较快呢?在C++ Primer 4th整本书中,都是用++i,我今天特别跑去问C++老师为什么,答案是因为++i较快,所以C++ Primer才都使用++i。阅读全文

posted @ 2006-10-12 01:15 真 OO无双 阅读(1338) | 评论 (2) 编辑

(原創) 如何将int,double转std::string? (C/C++) (template)
摘要: std::string为library type,而int、double为built-in type,两者无法互转,这里使用function template的方式将int转std::string,将double转std:string。阅读全文

posted @ 2006-10-10 21:47 真 OO无双 阅读(17500) | 评论 (1) 编辑

(原創) 為什麼要學C/C++? (C/C++)
摘要: 很多人覺得C/C++已經是過氣的語言,應該學 C# 或 Java才對,在這裡我提出一些我個人的理解。阅读全文

posted @ 2006-10-09 23:12 真 OO无双 阅读(1601) | 评论 (1) 编辑

(原創) 学C++最重要要学的地方是什么? (C/C++)
摘要: A primary focus of the design of C++ is to make it possible to define class types that behave as naturally as the built-in types themselves.Reference C++ Primer 4Th P.20阅读全文

posted @ 2006-10-09 22:35 真 OO无双 阅读(494) | 评论 (0) 编辑

(轉貼) 专访Bjarne Stroustrup (C/C++)
摘要: Bjarne Stroustrup是C++發明者,人稱C++之父。阅读全文

posted @ 2006-10-09 22:13 真 OO无双 阅读(285) | 评论 (0) 编辑

(原創) 写程序时,要同时以Class Creator和Class User的角色来写程序 (OO) (.NET) (N-Tier) (C/C++)
摘要: 在上C++正式第一堂课时,第一张slide讲到Modern C++的教学原则与方法:当写程序时,要我们将Class Creator和Class User的角色分开,就算整个Project都是自己一个人写,也要自己分饰Class Creator和Class User两种角色,不能彼此混淆。阅读全文

posted @ 2006-10-09 21:00 真 OO无双 阅读(556) | 评论 (0) 编辑

(原創) c/c++独特的block scope (C/C++)
摘要: C/C++的Scope共有6种:global、class、namespace、local、block、statement (C++ Primer 4th P.75) 。其中比较特别的是block scope,只要在curly brace {} 之间,就自成一个scope。阅读全文

posted @ 2006-10-08 12:18 真 OO无双 阅读(1243) | 评论 (0) 编辑

(原創) 宣告一个变量时,若没去用,是否会浪费内存? (C/C++) (C)
摘要: 在C/C++中,只要宣告一个变量,如int i,尽管没去用它,内存已经占了4 byte的内存了,这个动作称为Definition,以下简单的源代码即可证明,结果可显示该变量的内存地址。阅读全文

posted @ 2006-10-07 11:56 真 OO无双 阅读(595) | 评论 (0) 编辑

(原創) C++可以使用Direct-Initialization的方式在Built-in Type (C/C++)
摘要: 1#include 2 3using namespace std; 4 5int main() { 6 7 // int val = 10; 8 int val(10); 910 cout << val << endl; 1112 return 0;13} 以上源代码的第7行,宣告int型别的val变量并同时指定初值为10,int val = 10,C是这样写,C#、Java也是这样...阅读全文

posted @ 2006-10-06 22:02 真 OO无双 阅读(383) | 评论 (0) 编辑

(原創) 浮点运算时,该使用float还是double? (C/C++) (C)
摘要: 在C++ Primer 4th P.38,对float和double做了以下的建议阅读全文

posted @ 2006-10-04 16:18 真 OO无双 阅读(2110) | 评论 (3) 编辑

(原創) 为了节省内存,是否该使用char或short取代int做计算? (C/C++)
摘要: 我很早以前就有这个疑问,在C/C++中,若明知自己的计算没有很大,是否可以char或short来取代int以节省内存。C++ Primer 4th在P.38做了以下的建议。阅读全文

posted @ 2006-10-04 16:06 真 OO无双 阅读(1192) | 评论 (0) 编辑

(原創) 陈俊杉教授的C++上课方式 (C/C++) (日記)
摘要: 土木系陈俊杉教授是一个很认真的教授,三学分的课,被他弄成五学分的方式上课,三个小时的Lecture,两小时的Lab,还加上每个星期的Homework,真的每星期都是满载而归,在这我特别将他上课的方式做一下介绍。阅读全文

posted @ 2006-10-04 14:19 真 OO无双 阅读(963) | 评论 (0) 编辑

(原創) 今天決定去修C++了 (C/C++) (日記)
摘要: 因為碩士要修24學分才能畢業,也就是要修8門課,有不少學長碩一上修4門,碩一下修4門,這樣碩一就能將課全部修完,碩二可以專心寫論文。我之前是怕應付不過來,只敢很保守的修3門,打算3、3、2的方式在碩二上將課修完即可,其他有興趣的課旁聽就好,不過今天早上所旁聽的『物件導向程式設計』,讓我很想修,考慮了一下,就請教授加簽了,這樣我這學期也是4門課了。阅读全文

posted @ 2006-09-20 12:32 真 OO无双 阅读(963) | 评论 (2) 编辑

导航

公告