原创 啓用博客

      成爲CSDN會員已有三年,當初懷着對技術的懵懂,接觸了CSDN。流連於它的下載區,存於自己的電腦,於是,電腦的Data盤符便積累了越來越多的資料(很少去仔細的看那些東東……僅僅是一種莫名的好奇,或者電腦裏應該有些知識)。已有快

原创 GDI+學習之路2--新特性

  Microsoft Windows GDI+ 不同於GDI體現在2個方面。第一,GDI+通過提供新的功能擴展了GDI的特性,比如漸變畫刷和半透明混合。第二,編程模型的改進使得圖形開發更加簡單和靈活。 相對於GDI的新特性 漸變畫刷(

原创 軟件架構設計之Utility模塊——DateTime

這裏的日期實現比較簡單:採用的是UTC日期(現在還不涉及到其他日期格式的轉換如Gregorian日曆),且以星期一作爲每週的第一天。剩下的就看代碼吧: 頭文件: class UTIL_API YKDateTime { public: e

原创 設計模式之——Factory(工廠模式)

工廠模式用於,通過統一的創建對象接口來創建對象,而子類可以決定對象的創建方式。class CObject { }; class CCar : public CObject { }; class C

原创 設計模式之——Singleton(單令模式)

單令模式用於保證一個類只有一個實例,C++最常見的寫法爲 class CSingleton { CSingleton() {} ~CSingleton() {} CSingleton(const CSingleton&); CSingle

原创 軟件架構設計之Utility模塊——Functor

一:前言          現在要實作一個泛化仿函數,泛化仿函數是將“請求(函數)封裝起來”,存儲與對象之中,該對象是具有“value語義”的,因此它支持拷貝,賦值和作爲函數參數來傳值(pass by value)。通過該對象可間接的處

原创 軟件架構設計之Utility模塊——智能指針

一:前言          大家應該明白智能指針的用途(管理動態對象的生命期)及好處。其他話就不多說了,直接看如何實現吧。你將會看到一個基於策略而實作出的無比強大,靈活的智能指針。參考的依然是《Modern C++ Design》一書。

原创 GDI+學習之路3--線條、曲線和圖形(一)

           GDI+的矢量繪圖部分被用來繪製線條、繪製曲線和填充圖形。 矢量圖概覽(Overview of Vector Graphics)          Microsoft Windows GDI+在一個座標系統中繪製線條

原创 GDI+學習之路8--圖形容器

       圖片狀態(裁剪區域、變形、質量設置等)存儲於Graphics對象中。GDI+ 允許您採用一個容器臨時替換或者擴充一個Graphics對象的狀態。調用Graphics對象的BeginContainer方法開始一個容器,直至調

原创 軟件架構設計之Utility模塊——內存分配

一:前言 內存分配當然是對動態內存的分配(動態內存是在堆中分配的),使用動態內存的優點: 1.動態內存可以在不同的對象與函數之間共享。 2.動態分配的內存空間的大小可以在運行時確定。 關於內存的知識不想過多的解釋,畢竟這是一篇注重設計與

原创 C++知識點整理——繼承

         繼承的基礎知識在這就不進行介紹了,“知識點整理”是平時對不是經常用到的相關知識點的一個整理,注意一些不太常見,但是很有意思的知識,有助於加深我們對C++的認識。 一:私有繼承          私有繼承的特點是基類的公有

原创 軟件架構設計之Utility模塊——string

YKString類是對STL 中的std::wstring的功能擴展,沒有什麼好解釋的了,就直接看代碼吧。 頭文件: class YKString : public std::wstring { public: typedef std:

原创 軟件架構設計之Utility模塊——Any

YKAny類用於保存任意類型的變量類似於variant_t。這裏採用的是boost庫中的Any實現原理,增加了兩個Any之間比較的功能。看代碼吧: class UTIL_API YKAny { class PlaceHolder {

原创 GDI+學習之路6--圖象、位圖和圖元文件

             Microsoft Windows GDI+提供了Image類用於進行光柵圖像(位圖)和矢量圖像(圖元文件)。Bitmap類和Metafile 類都是繼承自Image類。Bitmap類通過提供加載、儲存和管理光柵

原创 GDI+學習之路7--座標系統和轉換

         GDI+ 提供世界變換和頁面變換功能,可讓您轉換 (旋轉、縮放、平移等) 所繪製的項目。這兩種轉換功能適用於各種座標系統。 座標系統類型(Types of Coordinate Systems) GDI+使用三個座標