新聞中心
微軟官方將對(duì)C++語(yǔ)言引入.NET環(huán)境的舉動(dòng),先從風(fēng)格上說,使用Visual C++ .NET開發(fā)的代碼可能兼具M(jìn)FC、ATL、標(biāo)準(zhǔn)C++、.NET托管代碼等多種不同的風(fēng)格,這大大的方便了進(jìn)行Visual C++ .NET開發(fā)的技術(shù)人員。

其中,對(duì)C++語(yǔ)言本身影響***的,當(dāng)然要數(shù)Visual C++ .NET托管代碼為C++注入的若干新鮮血液了:
- #using
- using namespace System;
- using namespace System::Reflection;
- using namespace System::Security::Permissions;
- public __value enum SomeStuff {
- e1 = 1,
- e17 = 17
- };
- [attribute(AttributeTargets::Class, AllowMultiple=true)]
- public __gc class ABC {
- public:
- ABC(int __gc[]) {}
- ABC() {}
- ABC(int) {}
- ABC(int, float) {}
- ABC(SomeStuff) {}
- ABC(String*) {}
- int rgnField __gc [];
- double rgdField __gc [];
- double dField;
- };
上述代碼來(lái)自MSDN中的示例程序??吹組icrosoft大刀闊斧地為C++語(yǔ)言引入的垃圾收集、Attribute屬性等新特性和新技術(shù),看到.NET托管代碼新奇得近乎離經(jīng)叛道的語(yǔ)言風(fēng)格。
我不知道是應(yīng)該為Microsoft在發(fā)展通用語(yǔ)言平臺(tái)上的努力而歡呼雀躍,還是應(yīng)該為C++在C#語(yǔ)言陰影下日漸屈居.NET大戲中的配角而灰心喪氣。也許,語(yǔ)言風(fēng)格和程序員的感受在Microsoft眼中,都是些不值一提的小事,它們哪能和.NET的宏偉戰(zhàn)略及Microsoft的強(qiáng)大帝國(guó)相提并論呢?
語(yǔ)言風(fēng)格的變遷從一個(gè)側(cè)面反映了技術(shù)思想和產(chǎn)業(yè)需求的嬗變規(guī)律。從1979年Stroustrup完成***個(gè)Cpre預(yù)處理程序算起,C++語(yǔ)言來(lái)到這個(gè)世界上已經(jīng)快滿25個(gè)年頭了。這是一種在實(shí)踐中誕生、成長(zhǎng)和發(fā)展起來(lái)的語(yǔ)言。也許,Stroustrup從一開始就壓根兒也沒想把它設(shè)計(jì)成像Smalltalk那樣純粹的面向?qū)ο笳Z(yǔ)言。
開放性、高效率、兼容性和擴(kuò)展性的需求將C++語(yǔ)言塑造成了一種典型的多模式(Multiparadigm)語(yǔ)言。無(wú)論是C++早期對(duì)Simula語(yǔ)言的繼承。還是后來(lái)對(duì)Smalltalk、Ada、Clu等語(yǔ)言的借鑒。
無(wú)論是ANSI/ISO標(biāo)準(zhǔn)風(fēng)格的迅速普及,還是Visual C++ .NET在技術(shù)創(chuàng)新上的不懈努力,所有這些歷史變遷都說明,C++在風(fēng)格上的多樣性主要源自C++語(yǔ)言本身“海納百川”的胸襟和氣概。
當(dāng)前標(biāo)題:VisualC++.NET真的要被局限性限制?
當(dāng)前URL:http://m.fisionsoft.com.cn/article/dhijgsh.html


咨詢
建站咨詢
