成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

透析C++代碼實現ControlTemplate

開發 后端
如果要把C++代碼中的諸多不必要的復雜性去掉,留下那些本質的,重要的語法特性,簡化編制技巧,這樣會大大的提高開發人員的工作效率。

現在主流的開發語言就是C++語言了,但是不過感覺沒有C語言實現的那么靈活,現介紹一下代碼實現 ControlTemplate的方法,希望大家學習探討,好了下面就是C++代碼舉例說明:

  1. FrameworkElementFactory fe = new FrameworkElementFactory(typeof(Image), "Image");   
  2.  
  3.            BitmapImage bi = new BitmapImage();   
  4.            bi.BeginInit();   
  5.            bi.UriSource = new Uri(@"E:ChartControlHanYangChartControlImageMainBackground.jpg");   
  6.            bi.EndInit();   
  7.  
  8.            fe.SetValue(Image.SourceProperty, bi);   
  9.  
  10.            //控件呈現的顯示內容2(這里為TextBox)   
  11.            FrameworkElementFactory fe2 = new FrameworkElementFactory(typeof(TextBox), "TextBox");   
  12.            fe2.SetValue(TextBox.WidthProperty,100.0);   
  13.            fe2.SetValue(TextBox.HeightProperty, 100.0);   
  14.  
  15.            //把要呈現的顯示內容封裝起來   
  16.            FrameworkElementFactory f = new FrameworkElementFactory(typeof(Grid), "Grid");   
  17.            f.AppendChild(fe);   
  18.            f.AppendChild(fe2);  

從上表可以看出,int與long相同。那么,為什么C++代碼還要區分這兩種數據類型呢?實際上這是個遺留問題。在16位編程環境中,int要求2個字節而long要求4個字節。而在32位編程環境中,這兩種數據都用4個字節存放。

C++Builder只生成32位程序,所以int與long相同。說明 在C++ Builder和BorLand C++ 5.0中,Bool是個真正的數據類型。有些C++編譯器有Bool關鍵字,則Bool不是個真正的數據類型。

有時Bool只是個typedef,使Bool等價于int。typedef實際上建立別名,使編譯器在一個符號與另一符號間劃上等號。typedef的語法如下:typedef int Bool;這就告訴編譯器:Bool是int的別名。說明 只有double和float數據類型使用浮點數(帶小數點的數)。

其它數據類型只涉及整數值。盡管integer數據類型也可以指定帶小數點的數值,但小數部分會舍棄,只將整數部分賦予整型變量。例如:int x=3.75;得到的x取值為3。注意,這個整數值并不是四舍五入,而是放棄小數部分。順便說一句,大多數Windows程序很少用到浮點數。

C++代碼可以在必要時進行不同數據類型間的換算。例如:short result;long num1 = 200;long num2 = 200;result = num1 * num2;這里我想將兩個長整型的積賦予一個短整型。盡管這個公式混用了兩種數據類型,但C++能夠進行換算。計算結果會怎樣呢?結果會讓你大吃一驚,是25536,這是繞接(wrop)的結果。

從表1.1可以看出,短整型的***取值為32767,在***值之上加1會怎么樣呢?得到的是32768。這實際上與汽車里程計從99999回到00000的道理一樣。為了說明這點,請輸入并運行下列清單1.3中包含的程序。

為了避開C++的復雜性而干脆不用C++(Linus的做法),無異于因噎廢食。”在所有可用C和C++的領域,C++都是比C更好的語言。當我說“更好的”時候,我說的是C++擁有比C更安全的類型檢查、更好的抽象機制、更優秀的庫。

當然,凡事都有例外,如果你做的項目1)不大。2)編碼中用不到什么抽象機制,甚至ADT(抽象數據類型,例如std::complex這種不含多態和繼承的)也用不到,RAII也用不到,異常也用不到。

3)你連基礎庫(如,簡化資源管理的智能指針、智能容器)都用不著。那么也許你用C的確沒問題;所以如果你的情況如此,不用和我爭論,因為我無法反駁你。我們這里說的領域大致是Bjarne在“C++應用列表”里面列出來的那些地方。 #t#

即便是C++的反對者也許也很難找到理由說“我還是不用C++代碼”。在我看來,一個真正從實踐意義上理性反對使用C++的人只有一個理由:C++的復雜性帶來的混亂抵消乃至超過了C++的抽象機制和庫(在他的特定項目中)帶來的好處。

值得注意的是,這里需要避免一個陷阱,就是一旦人們認定了“C++代碼不好”,那么這個理由就會“長出自己的腳來”,即,就算我們拿掉C++的復雜性,他們可能也會堅持還是不用C++,并為之找一堆理由。

我假定你不是這樣的人。不過,也許最可能的是他會說:“問題是我們今天用的C++并非如此(簡潔),你的假設不成立。”是的,我的假設不成立。但雖然我們無法消除復雜性,我們實際上是可以容易地避開復雜性,避短揚長的。這也是本文的要點,容我后面再詳述。

責任編輯:chenqingxiang 來源: 網易科技
相關推薦

2010-01-28 13:45:06

C++數組

2009-08-20 14:22:17

C#實現 Contro

2010-01-18 09:39:25

C++語言

2010-01-19 14:28:41

C++ main()函

2010-01-21 10:04:14

C++語言

2010-01-20 14:13:33

C++變量

2010-01-18 17:48:46

C++類對象

2023-10-30 10:29:50

C++最小二乘法

2023-12-22 13:58:00

C++鏈表開發

2009-08-28 09:43:05

C#事件

2010-02-06 09:46:46

C++單向鏈表

2010-02-06 13:42:36

C++單件模式

2020-06-16 16:25:05

C++JavaPython

2010-01-14 14:40:21

C++代碼

2010-01-18 16:17:53

C++代碼

2011-05-18 18:05:47

C#C++

2011-05-18 17:56:38

C#C++

2010-02-01 13:34:07

C++獲得系統時間

2010-03-17 19:06:59

Java join線程

2010-01-21 10:23:53

C++代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 2018中文字幕第一页 | 欧美人妇做爰xxxⅹ性高电影 | 国产一区高清 | 精品久久中文字幕 | 日本精品一区二区三区视频 | 中文字幕视频在线 | 国产精品成人在线 | 亚洲美女一区 | 亚洲欧美精品 | 天天干夜夜 | 久久久久久亚洲精品 | 一级做a爰片性色毛片16美国 | 日本不卡免费新一二三区 | 色在线视频网站 | 一区二区三区在线观看视频 | 欧美日韩在线视频一区 | 国内精品免费久久久久软件老师 | 国产精品视频久久久 | 欧美一区二区免费 | 国产成在线观看免费视频 | 国产成人精品亚洲日本在线观看 | 婷婷五月色综合 | 日韩成人在线网址 | 四虎影院在线观看免费视频 | 在线观看特色大片免费网站 | 久久亚洲欧美日韩精品专区 | 99精品视频在线观看免费播放 | 羞羞的视频在线看 | 久久久精品天堂 | 狠狠综合久久av一区二区老牛 | 成人免费视频网站在线观看 | 在线观看三级av | 欧美激情久久久 | 国产精品久久久久久久久久 | 亚洲欧美综合 | 黄色毛片在线观看 | 夜夜草导航| 日韩精品福利 | 日韩精品视频在线 | 国产盗摄视频 | 成人免费看片又大又黄 |