C/C++

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

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

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

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

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

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

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

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

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

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

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

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

(筆記) 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无双 阅读(2678) | 评论 (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无双 阅读(2232) | 评论 (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无双 阅读(1997) | 评论 (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无双 阅读(2544) | 评论 (1) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(原創) 如何将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无双 阅读(18927) | 评论 (2) 编辑

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

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

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

posted @ 2008-07-30 19:59 真 OO无双 阅读(1285) | 评论 (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无双 阅读(5583) | 评论 (9) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

posted @ 2008-06-09 11:28 真 OO无双 阅读(5736) | 评论 (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无双 阅读(1361) | 评论 (0) 编辑

(原創) 如何在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无双 阅读(5930) | 评论 (2) 编辑

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

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

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

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

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

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

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

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

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

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

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

posted @ 2008-04-23 22:49 真 OO无双 阅读(3797) | 评论 (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无双 阅读(4939) | 评论 (21) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(原創) 如何在C語言實現substr()? (C/C++) (C)
摘要: 若要說處理字串什麼函數最常用,substr()應該會是前幾名,以我的經驗,C++、C#、VB、VFP、T-SQL都提供了substr(),好像C語言就沒提供這個函數,真的是這樣嗎?阅读全文

posted @ 2008-03-08 21:24 真 OO无双 阅读(6810) | 评论 (0) 编辑

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

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

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

posted @ 2008-03-05 10:52 真 OO无双 阅读(1702) | 评论 (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无双 阅读(1809) | 评论 (0) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

posted @ 2007-09-18 17:24 真 OO无双 阅读(3670) | 评论 (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无双 阅读(1765) | 评论 (4) 编辑

(轉貼) Verilog与C++的类比 (IC Design) (Verilog) (C/C++)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(轉貼) Evolving a language in and for the real world C++ 1991-2006 (中文翻譯版) (By Bjarne Stroustrup) (C/C++)

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

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

posted @ 2007-08-16 02:12 真 OO无双 阅读(257) | 评论 (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无双 阅读(643) | 评论 (0) 编辑

(轉貼) 指针专题 (C/C++) (C)

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

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

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

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

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

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

posted @ 2007-08-10 01:27 真 OO无双 阅读(1090) | 评论 (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无双 阅读(5345) | 评论 (3) 编辑

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

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

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

posted @ 2007-07-31 07:19 真 OO无双 阅读(3348) | 评论 (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无双 阅读(3108) | 评论 (4) 编辑

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

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

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

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

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

posted @ 2007-07-27 15:06 真 OO无双 阅读(1087) | 评论 (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无双 阅读(2921) | 评论 (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无双 阅读(4634) | 评论 (6) 编辑

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

posted @ 2007-07-16 00:15 真 OO无双 阅读(1909) | 评论 (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无双 阅读(6254) | 评论 (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无双 阅读(5410) | 评论 (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无双 阅读(3271) | 评论 (26) 编辑

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

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

(轉貼) C++ Builder 2007六月上市 (C/C++) (News)

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

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

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

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

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

(轉貼) boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 (C/C++) (template) (boost)

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

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

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

(轉貼) Const用法小结 (C/C++)

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

(轉貼) STL算法学习 (C/C++) (STL)

posted @ 2007-05-23 04:11 真 OO无双 阅读(2212) | 评论 (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无双 阅读(468) | 评论 (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无双 阅读(471) | 评论 (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无双 阅读(1011) | 评论 (0) 编辑

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

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

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

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

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

posted @ 2007-05-13 20:29 真 OO无双 阅读(730) | 评论 (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无双 阅读(3814) | 评论 (1) 编辑

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

posted @ 2007-05-07 21:45 真 OO无双 阅读(9954) | 评论 (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无双 阅读(12681) | 评论 (2) 编辑

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

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

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

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

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

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

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

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

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

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

(轉貼) Javaer 双修C++的key point (C/C++) (Java)

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

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

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

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

posted @ 2007-04-07 16:36 真 OO无双 阅读(228) | 评论 (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无双 阅读(1102) | 评论 (0) 编辑

(轉貼) 一些C++資源整理 (C/C++)

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

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

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

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

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

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

posted @ 2007-03-31 10:22 真 OO无双 阅读(427) | 评论 (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无双 阅读(3696) | 评论 (3) 编辑

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

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

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

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

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

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

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

posted @ 2007-03-21 00:06 真 OO无双 阅读(548) | 评论 (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无双 阅读(7078) | 评论 (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无双 阅读(776) | 评论 (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无双 阅读(1430) | 评论 (0) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

posted @ 2007-02-25 04:36 真 OO无双 阅读(11087) | 评论 (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无双 阅读(5343) | 评论 (1) 编辑

(轉貼) Visual C++ 8.0 for Visual Studio 2005熱鍵海報 (C/C++) (VC++)

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

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

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

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

posted @ 2007-02-22 00:51 真 OO无双 阅读(2981) | 评论 (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无双 阅读(1548) | 评论 (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无双 阅读(8775) | 评论 (5) 编辑

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

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

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

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

(轉貼) Java中最值得C++借鉴的特性s (C/C++) (Java)

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

(轉貼) C++跨平台开发方法/工具 (C/C++)

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

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

posted @ 2007-02-16 15:22 真 OO无双 阅读(932) | 评论 (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无双 阅读(718) | 评论 (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无双 阅读(465) | 评论 (0) 编辑

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

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

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

posted @ 2007-02-09 21:14 真 OO无双 阅读(1929) | 评论 (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无双 阅读(4467) | 评论 (0) 编辑

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

posted @ 2007-02-09 14:11 真 OO无双 阅读(1998) | 评论 (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无双 阅读(272) | 评论 (0) 编辑

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

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

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

posted @ 2007-02-08 06:17 真 OO无双 阅读(398) | 评论 (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无双 阅读(1678) | 评论 (0) 编辑

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

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

(原創) 如何使用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无双 阅读(14276) | 评论 (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无双 阅读(4402) | 评论 (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无双 阅读(701) | 评论 (0) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

posted @ 2007-01-14 11:02 真 OO无双 阅读(1067) | 评论 (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无双 阅读(447) | 评论 (0) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

posted @ 2007-01-05 02:08 真 OO无双 阅读(9137) | 评论 (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无双 阅读(2274) | 评论 (0) 编辑

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

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

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

posted @ 2006-12-30 12:06 真 OO无双 阅读(1177) | 评论 (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无双 阅读(2156) | 评论 (1) 编辑

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

posted @ 2006-12-21 09:33 真 OO无双 阅读(3507) | 评论 (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无双 阅读(2141) | 评论 (3) 编辑

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

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

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

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

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

posted @ 2006-12-19 21:46 真 OO无双 阅读(3451) | 评论 (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无双 阅读(936) | 评论 (0) 编辑

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

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

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

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

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

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

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

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

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

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

导航

公告

emblem-2010

first2009-011

我是一個小小的數位IC工程師,從事SOC IP開發,業餘則喜歡研究FPGA、Embedded System、OS、MFC、NET與OOP相關技術。我並不是靠寫Blog或寫書維生,只是記下來怕自己忘記,所以不加任何廣告。所有文章與程式碼歡迎轉載使用。

昵称:真 OO无双
园龄:5年5个月
粉丝:287
关注:0

随笔分类(2100)