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

淺析Visual Studio中的C++程序變化

開發(fā) 后端
在Visual studio 2005對C++程序進(jìn)行處理時顯得有點(diǎn)平常,下面主要要說明下在下一代的Visual Studio中C++程序的變化。

對第一次接觸到C++程序的用戶和學(xué)者來說,了解C++語言的概念是非常重要的,那么就先說一下什么是C++語言,所謂C++語言:是一種使用非常廣泛的計算機(jī)編程語言。

在visual studio.NET中引入了對C++擴(kuò)展名的處理,擴(kuò)展名是以兩個下劃線開始的關(guān)鍵字,比如__gc和__property.自從上個版本發(fā)布以來,我已經(jīng)寫了大量的雙下劃線特征的代碼,我坦白也不喜歡這樣。

我了解具體的原因是:帶兩個下劃線的關(guān)鍵字作為特殊的擴(kuò)展名使它們不會跟標(biāo)準(zhǔn)編譯器相混淆,你可以全面的管理擴(kuò)展名可以用其他的編譯器來編譯,它忽視__關(guān)鍵字。這是一種解決方法:微軟發(fā)現(xiàn)了一種方法不改變編程語言的改變,但是會出現(xiàn)下面一些結(jié)果:

  1. //this is a code fragment  
  2.   {  
  3.   try  
  4.   {  
  5.   Foo* f=new Foo(/* params */);  
  6.   //all kinds of code, some of which might throw exceptions  
  7.   delete f;  
  8.   }  
  9.     
  10.   catch (/* something */)  
  11.   {  
  12.   delete f;  
  13.   //whatever else, or rethrow;  
  14.   }  
  15.   } 

有良好習(xí)慣的C++程序員把get和put放在每個擴(kuò)展名的右面,把潛在的變量放在旁邊,但是編程語言沒要求你這樣做。它提供無環(huán)境支持定界結(jié)構(gòu)讓你明白作為一個單元是正確的。

所以它是不自然的跟其它visual studio .NET語言不一樣。但是你如何去處理這個問題那,唯一的方式完成C++程序換成CLR反之就要改變C++程序假如你想那樣做,你可以有足夠的自由得到自然一流的語言會給你最好的,你可以取消大量的帶雙劃線的關(guān)鍵字。

我喜歡確定的解析,實(shí)際上我也喜歡碎片收集,我還能舉出更多的,它們有自己的作用而且我也需要它們,假如我只在內(nèi)存中構(gòu)造一個對象,我希望在我自己清除它前不被清除,

所以內(nèi)存管理是很復(fù)雜的。但是,如果你的對象包含一個非管理的源文件如數(shù)據(jù)庫鏈接,一個開放文件,或者類似我要取得一個控制。我想知道它要盡快的離開,用這種模式去處理,但是它不是直接的,簡單的親密支持是最好的辦法。


當(dāng)對象在管理堆里時,你不能把它刪除,它將被碎片收集清除,如果你想清除管理著源文件的對象,你可以調(diào)用dispose()函數(shù),雖然C#為它提供了的有效的結(jié)構(gòu),但是它仍然不象堆棧那樣簡單。
  
在新一代的語言(以前是C++/CLI),你在哪里建立對象不依賴于你建立對象的種類,你可以堆棧中管理對象,它有確定的解析,但它越界時將被清除,如果你愿意你可以在管理堆里建立對象。

這種變化帶來其它的結(jié)果,其中最深遠(yuǎn)的是你可以把不同的對象放在摸板中或者可以把它看成其它類的成員變量,你可以得到完整的C++程序生存時間周期,而不是僅僅是把它分配到相應(yīng)的堆,然后等碎片收集來處理它。

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實(shí)現(xiàn)方式上的一點(diǎn)區(qū)別
  2. C++編譯器如何對Const常量進(jìn)行分配存儲空間
  3. C++類庫設(shè)計的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來源: 清華大學(xué)出版社
相關(guān)推薦

2010-03-15 09:04:09

C++Visual Stud

2010-01-22 13:59:34

Visual C++應(yīng)

2009-03-17 08:56:57

Visual StudVS2010C++

2010-01-18 14:41:52

Visual C++開

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-25 09:17:01

Visual Stud

2010-03-10 09:28:58

Visual Stud

2010-01-26 14:10:22

Visual C++

2010-01-22 18:41:32

Visual C++

2010-01-14 14:17:20

Visual C++

2010-01-20 10:19:55

C++數(shù)組

2010-01-27 17:16:52

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

2010-03-17 08:49:49

Visual Stud

2023-04-03 07:08:28

C++函數(shù)模板

2010-01-12 14:45:32

Visual C++

2010-01-26 14:35:11

C++關(guān)鍵字

2010-09-13 08:48:04

Visual Stud

2009-08-05 11:02:30

Visual Stud

2012-06-18 10:03:46

Visual Stud
點(diǎn)贊
收藏

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