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

如何更好的對C++Builder進(jìn)行開發(fā)

開發(fā) 后端
在介紹C++Builder前,先讓大家了解下什么是C++ Builder,所謂的C++ Builder:C++ Builder具有快速的可視化開發(fā)環(huán)境。

C++ Builder是由Borland公司推出的一款集成開發(fā)環(huán)境,C++Builder是一個專業(yè)的C++開發(fā)環(huán)境,他能夠提供的功能為:快速、高效、靈活的編譯器優(yōu)化,希望大家能夠?qū)W到自己想要的東西。

這個在市場上為Borland挽回了顏面的產(chǎn)品不但在界面風(fēng)格上與Borland的支柱產(chǎn)品Delphi別無二致,甚至還在產(chǎn)品內(nèi)部直接照搬了Delphi的VCL(Visual Component Library)庫。結(jié)果,使用C++Builder開發(fā)的代碼天生就受到了Delphi風(fēng)格的傳染,長相酷似Pascal語言了(以下代碼取自C++Builder 6.0的示例代碼):

  1. class TFormClrDlg : public TForm  
  2. {  
  3. published: // IDE-managed Components  
  4.     TColorDialog *ColorDialog;  
  5.     TButton *Button;  
  6.     TPanel *Panel1;  
  7.     void fastcall ButtonClick(TObject *Sender);  
  8. private:    // User declarations  
  9. public: // User declarations  
  10.     virtual fastcall TFormClrDlg(TComponent* Owner);  
  11. }; 

說實(shí)話,盡管C++Builder在市場上的表現(xiàn)不錯,但我還是不喜歡Borland將C++語言與Delphi中的Object Pascal語言刻意混淆的做法。也許在Borland這種做法的背后有提高產(chǎn)品通用性、縮短產(chǎn)品開發(fā)周期等體面的理由,但使用C++Builder開發(fā)出的代碼在外表上已經(jīng)離標(biāo)準(zhǔn)C++風(fēng)格越來越遠(yuǎn)了。

值得注意的是,Borland于2003年推出了其下一代C++開發(fā)工具 ——C++BuilderX。讓人哭笑不得的是,這一次Borland居然將C++開發(fā)環(huán)境構(gòu)筑在了用Java語言實(shí)現(xiàn)的PrimeTime平臺上,這多少將C++語言推向了一種極為尷尬的處境。#t#

不過,C++BuilderX也為我們帶來了一些好消息:在后續(xù)的版本中,C++BuilderX將集成vxWindows框架庫[5],在這種框架下開發(fā)的C++代碼顯然要比使用VCL的代碼具備更多的標(biāo)準(zhǔn)C++風(fēng)格。

Microsoft將C++引入.NET環(huán)境的舉動其實(shí)比Borland還要激進(jìn)。單從風(fēng)格上說,使用Visual C++ .NET開發(fā)的代碼可能兼具M(jìn)FC、ATL、標(biāo)準(zhǔn)C++、.NET托管代碼等多種不同的風(fēng)格。其中,對C++語言本身影響***的,當(dāng)然要數(shù).NET托管代碼為C++注入的若干新鮮血液了:

  1. #using <mscorlib.dll> 
  2.  
  3. using namespace System;  
  4. using namespace System::Reflection;  
  5. using namespace System::Security::Permissions;  
  6.  
  7. public __value enum SomeStuff {  
  8.     e1 = 1,  
  9.     e17 = 17  
  10. };  
  11.  
  12. [attribute(AttributeTargets::Class, AllowMultiple=true)]  
  13. public __gc class ABC {  
  14. public:  
  15.     ABC(int __gc[]) {}  
  16.     ABC() {}  
  17.     ABC(int) {}  
  18.     ABC(int, float) {}  
  19.     ABC(SomeStuff) {}  
  20.     ABC(String*) {}  
  21.     int rgnField __gc [];  
  22.     double rgdField __gc [];  
  23.     double dField;  
  24. }; 

上述代碼來自MSDN中的示例程序??吹組icrosoft大刀闊斧地為C++Builder引入的垃圾收集、Attribute屬性等新特性和新技術(shù),看到.NET托管代碼新奇得近乎離經(jīng)叛道的語言風(fēng)格。

我不知道是應(yīng)該為Microsoft在發(fā)展通用語言平臺上的努力而歡呼雀躍,還是應(yīng)該為C++在C#語言陰影下日漸屈居.NET大戲中的配角而灰心喪氣。也許,語言風(fēng)格和程序員的感受在Microsoft眼中,都是些不值一提的小事,它們哪能和.NET的宏偉戰(zhàn)略及Microsoft的強(qiáng)大帝國相提并論呢?

責(zé)任編輯:chenqingxiang 來源: 計世網(wǎng)
相關(guān)推薦

2010-01-15 09:48:04

C++Builder

2010-01-26 14:04:14

C++Builder

2010-01-15 09:33:01

CC++Builder

2010-01-18 14:25:19

使用C++Builde

2010-01-26 14:10:22

Visual C++

2010-01-27 09:46:32

C++Builder開

2010-01-15 18:06:20

C++引用

2010-01-11 10:45:43

C++Builder

2010-01-11 10:53:14

C++Builder

2010-01-25 14:43:00

C++構(gòu)造函數(shù)

2010-01-22 13:20:27

C++代碼

2010-01-22 18:06:24

C++代碼

2010-01-15 10:14:21

C++ Builder

2010-01-19 14:39:22

C++ Builder

2010-01-11 16:19:05

C++ Builder

2010-01-22 16:21:50

C++ Builder

2010-01-15 09:58:38

C++ Builder

2010-08-11 09:50:38

DB2 catalog

2010-09-08 12:30:05

DelphiC++BuilderRAD Studio

2010-01-22 16:10:12

C++ Builder
點(diǎn)贊
收藏

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