自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vista系統(tǒng)中C++ Builder還這么好使嗎?

開發(fā) 后端
在Vista系統(tǒng)進(jìn)行C++開發(fā)時只支持C++托管代碼的開發(fā),原生代碼開發(fā)將位于C++Builder可視化集成開發(fā)工具里面。

C++ Builder可以編譯所有符合ANSI/ISO標(biāo)準(zhǔn)的原代碼,支持最新ANSI C++/C語言特征:模板、例外、運(yùn)行、以及Namespaces等,下面著重說明下在Vista系統(tǒng)中C++ Builder的開發(fā)工作。

注意:當(dāng)然,這里所說的讓位,是指RAD;這里所提的“VS2005及以后的版本在Vista下將只支持C++托管代碼的開發(fā)”來自6月8號在西安參加CodeGear的新品發(fā)布會時范路先生所說。

個人很喜歡C#,一方面類庫強(qiáng)大,另一方面因?yàn)镃#的架構(gòu)師Anders Hejlsberg(我很佩服,呵呵)。不管MS有多少不好,基于MS和Windows的強(qiáng)大,掌握MS陣營的一種或多種工具很是很有必要的(我只是開源和Linux的擁護(hù)者,非常不狂熱),所以我選擇了C#。扯遠(yuǎn)了。

C++ Builder2007支持Vista下的原生代碼開發(fā),也只支持這種方式。但是不要以為原生代碼實(shí)現(xiàn)不了Vista的特殊效果。范路先生說了。這是C++ Builder及以后的版本的定位,也因?yàn)镸S將放棄VC++在Vista下的原生代碼開發(fā),將會給予C++ Builder一條生路(同眼下相比)。

忘了Delphi是什么定位了,可能范路先生沒有說。難道還是雙管齊下?不知道在Vista時代C++ Builder能否重振雄風(fēng):)更有可能的是三國時代(上一次是Borland、MS和賽門鐵克)重現(xiàn)--在原生代碼領(lǐng)域?托管還是原生,每個人的偏愛都不一樣--如果你不喜歡C++的話。#t#

不在此列,哈哈--如果不出意外(喜歡C++ && 原生代碼 && RAD的大有人在;來分C++原生代碼RAD的公司姍姍來遲),MS就把一部分江山拱手相讓了;這樣也好,競爭對手也是一種推動力。C++ Builder生成新的控制臺應(yīng)用程序時會自動加上這條語句。這在你所用的程序中不是必須的,所以代碼清單中將其省略。無論有無這條語句,程序運(yùn)行結(jié)果是一致的。

分析輸出結(jié)果為:x=32767 x=32768如果用int數(shù)據(jù)類型,則不會有這個問題,因?yàn)閕nt數(shù)據(jù)類型的取值范圍在正向20億之間,一般不會有繞回的問題。但這時程序可能會稍大一些,因?yàn)閕nt需要4字節(jié)存儲,而short只需要2字節(jié)存儲。

對于大多數(shù)應(yīng)用程序,這個差別是不顯著的。前面介紹了自動類型換算。有時C++無法進(jìn)行換算,這時可能在編譯器中產(chǎn)生編譯錯誤,說Cannot convert from x to y(無法從x換算到Y(jié))。

編譯器也可能警告說Conversion might lose significant digits(換算可能丟失顯著位)。提示 編譯器警告應(yīng)當(dāng)作編譯器錯誤。因?yàn)樗砻鞒隽隋e誤。我們應(yīng)努力生成無警告的編譯。有時警告無法避免,但一定要認(rèn)真檢查所有警告。應(yīng)充分了解警告的原因并盡量予以糾正。

說明 這里介紹的字串操作是C語言中的字串處理方法。大多數(shù)C++編譯器提供了cstring類,可以簡化字串的處理(C++ Builder的Visual構(gòu)件庫中有個AnsiString類,可以處理字串操作。

C++ Builder聯(lián)機(jī)幫助中詳細(xì)介紹了AnsiString類)。盡管C語言中的字串處理方法比較麻煩,但并不過時,C++編程人員經(jīng)常在使用cstring類和AnsiString類等字串類的同時使用C語言中的字串處理方法。這里不想對表中的每個函數(shù)進(jìn)行舉例說明,只想舉兩個最常用的函數(shù)。strcpy()函數(shù)將一個字串復(fù)制到另一字串中,源字串可以是變量或直接字串。例如下列代碼:

  1. //set up a string to hold 29 characters   
  2.  
  3. char buff[30];   
  4.  
  5. //copy a string literal to the buffer   
  6.  
  7. strcpy (buff,"This is a test.");//display it   
  8.  
  9. cout << buff << end;   
  10.  
  11. //initialize a second string buffer   
  12.  
  13. char buff2[]="A second string.";   
  14.  
  15. //copy the contents of this string to the first buffer   
  16.  
  17. strcpy (buff,buff2);   
  18.  
  19. cout << buff << end1;  
責(zé)任編輯:chenqingxiang 來源: itwis.com
相關(guān)推薦

2010-01-21 10:23:53

C++代碼

2010-01-20 17:23:03

C++編程語言

2010-01-26 14:10:22

Visual C++

2010-01-15 09:58:38

C++ Builder

2010-01-22 16:21:50

C++ Builder

2010-01-19 14:54:58

Visual C++

2010-01-11 16:19:05

C++ Builder

2010-02-06 15:15:31

C++ Builder

2010-01-15 10:14:21

C++ Builder

2010-01-19 14:39:22

C++ Builder

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-21 14:07:14

CC++聲明

2011-11-07 13:38:27

2011-09-19 16:38:32

windowsXPvista

2022-08-22 15:32:59

C++C代碼

2015-09-07 13:55:53

PHPC++

2010-01-20 10:19:55

C++數(shù)組

2010-01-21 13:33:44

C++基類

2010-01-25 10:25:19

C++變量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號