足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票

IT職業教育

華中地區北大青鳥校區IT集訓營

027-87807717

北大青鳥首頁 > 熱門IT技術教程 > .Net技術教程 > > .NET技術教程之VC.NET程序中的CString類應用解析

.NET技術教程之VC.NET程序中的CString類應用解析

時間:2012-07-12 10:45 來源:北大青鳥武漢宏鵬魯廣校區作者:027hpedu
導讀:.NET技術教程之VC.NET程序中的CString類應用解析來幫助大家了解.NET開發中的一些技巧性東西。

  .NET技術教程之VC.NET程序中的CString類應用解析來幫助大家了解.NET開發中的一些技巧性東西。北大青鳥武漢宏鵬魯廣校區學士后.NET課程將會通過對CString類源代碼的一些分析,使得大家對于這個類具有更深入的了解,避免在以后使用過程中出錯。

  .NET技術教程之為什么是VC.NET的CString類?

  答案很簡單,在M$將MFC從4.X(VC6)升級到7.X(VC.NET)開始,原來的CString被重新設計以便與ATL共用,并且支持了template特性。而由于VC6對于C++標準支持差得令人發指,成為眾矢之的,且逐漸式微,將成明日黃花,故這里分析VC.NET的CString類

  1. 親子疑團之誰是我爹

  在新的MFC體系中,CString并不是一個實際存在的類,實際上存在的是CSimpleStringT和CStringT,而我們常用的CString只是一個typedef-class.

  這種變動,無疑讓CString的身世顯得撲朔迷離。

  CString童鞋內牛滿面,不禁高呼:你們到底誰TM是俺爹?

  CString是誰呢?呃,在經過一番從CString到它祖宗十八代的調查后,我們發現:CString的爹,其實是CSimpleStringT.而CStringT,則是CString的前世

  2.親子疑團之混亂的關系

  CSimpleString是CString體系變化的一個代表。

  在過去,CString實際上是個獨立的類,據說連萬物之祖——CObject和它都沒有半毛錢關系。CString一個人負責內存管理、字符串操作。etc

  而到了新體系下,AFX小組為了更好地與ATL重用,將CString功能分拆成兩塊:基本的內存管理和緩存操作以及的字符串處理。CSimpleStringT便是負責前者。

  至于CStringT,便繼承自CSimpleStringT,然后封裝了的字符串處理。

  那么,我們為什么說CStringT是CString的前世呢?因為下面一行代碼

  view sourceprint?1 typedef ATL::CStringT< TCHAR, StrTraitMFC< TCHAR > > CString;

  對于采用了模板的類來說,這種typedef并不少見,std::string也是一個typedef-class

  PS1:CStringT起初在ATL中設計,并有了MFC支持版(二者應該區別不大),于是編譯器分別提供了cstringt.h和atlstr.h

  PS2:即使是現在,CSimpleStringT也是獨立的類,與CObject仍然沒有半毛錢關系

  3.神秘的老爸——CSimpleStringT

  CSimpleStringT在atlsimplestr.h中,而且是一個比較大的類。CSimpleStringT大多數函數都有文檔說明了,我也沒必要做無用功,所以我們來看一些沒有文檔說明的東西

  CSimpleStringT為一些常用的字符/字符串類型定義了別名,便于使用

  public:

  typedef typename ChTraitsBase< BaseType >::XCHAR XCHAR;

  typedef typename ChTraitsBase< BaseType >::PXSTR PXSTR;

  typedef typename ChTraitsBase< BaseType >::PCXSTR PCXSTR;

  typedef typename ChTraitsBase< BaseType >::YCHAR YCHAR;

  typedef typename ChTraitsBase< BaseType >::PYSTR PYSTR;

  typedef typename ChTraitsBase< BaseType >::PCYSTR PCYSTR;

  ChTraitsBase類的信息如下:

  template< typename BaseType = char >

  class ChTraitsBase

  {

  public:

  typedef char XCHAR;

  typedef LPSTR PXSTR;

  typedef LPCSTR PCXSTR;

  typedef wchar_t YCHAR;

  typedef LPWSTR PYSTR;

  typedef LPCWSTR PCYSTR;

  };

  template<>

  class ChTraitsBase< wchar_t >

  {

  public:

  typedef wchar_t XCHAR;

  typedef LPWSTR PXSTR;

  typedef LPCWSTR PCXSTR;

  typedef char YCHAR;

  typedef LPSTR PYSTR;

  typedef LPCSTR PCYSTR;

  };

  NET技術教程之VC.NET程序中的CString類應用解析將會使學生在,NET開發上掌握更多的技巧,在軟件開發中更加熟練,成為更加專業的人才。

告訴我們,你現在想了解什么?

精彩專題——96%的同學看到這里都會點擊下面的專題

  • 關于我們
  • 魯廣校區北大青鳥宏鵬IT學院

    • 北大青鳥(武漢宏鵬)魯廣北校區地址:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)三樓
      電話:027-87807717
      網址:www.027hpit.com

    • 北大青鳥宏鵬IT學院:武漢市洪山區魯磨路568號
      電話:027-87808818
      網址:www.accp027.com

    • 北大青鳥(武漢宏鵬)魯廣南校區:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)五樓
      電話:027-87807736
      網址:www.whhpit.com

Copyright (c) 2006-2020 武漢宏鵬教育咨詢有限公司 版權所有 All Rights Reserved.

nba篮彩篮球彩票
足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票
福建麻将玩法 伯恩茅斯在英国哪里 浙江十一选五走势所 明日之后 瑞波币今天行情走势图 古怪猴子闯关 天涯明月刀钟汉良 德甲法兰克福对纽伦堡 一波中特生肖 电脑单机福州麻将下载 电影冰河世界 北戴河热那亚乐园 021美因茨vs弗赖堡最新消息 百家乐大转轮免费试玩 内蒙古11选5一定牛遗漏 模拟开乐彩