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

妙用VC++ 6.0編譯器說明

開發(fā) 后端
Visual Studio系列中產品中,VC++ 6.0編譯是最經(jīng)典的一個版本,雖然后來有Visual Studio .NET 2003,以及2005。

VC++ 6.0編譯作為一個高效的.NET程序語言。其混合了函數(shù)語言和物件導向程序編制語言,并且***的適用于編程、算法、技術和探索性開發(fā),因此可以在使用的過程當中感受到趣味性和吸引力。
 
和VS 6.0這個產品的成熟相比,VC++ 6.0的編譯器的的確確相對來說有些糟糕,其中最被詬病的是對模板技術支持很不好。下面我想做的一件事情,就是向那些繼續(xù)留戀VC++ 6.0的朋友,介紹一些小花招,來避開VC++ 6.0的一些編譯器缺陷。

按照C++標準,這里定義的變量var出了for循環(huán)應該被銷毀。也就是說下面這段代碼是有效的:

  1. for (int i = 0; i < 100; ++i)  
  2.        func();  
  3.    for (int i = 0; i < 100; ++i)  
  4.        func2(); 

而下面這段代碼應該編譯不過:

  1. for (int i = 0; i < 100; ++i)  
  2.   {  
  3.        if (has_found_it())  
  4.        {  
  5.            handle_find_result();  
  6.            break;  
  7.         }  
  8.   }  
  9.   if (i == 100)  
  10.        do_not_found(); 

然而VC++ 6.0對于***段代碼會報變量i重復定義錯誤,而第二段代碼編譯通過。為了讓VC++ 6.0的for語句看起來符合C++標準,你可以這樣做:

  1. if (cond)  
  2.     if (1)  
  3.         for (int i = 0; i < 100; ++i)  
  4.             func1();  
  5.     else  
  6.         func2(); 

你會發(fā)現(xiàn)很有趣,這樣define一下后,VC++ 6.0編譯的for語句完全符合C++標準了!而且由于編譯器的優(yōu)化,Release版本不會增加任何額外的開銷。喜歡“鉆牛角尖”的朋友可能會說:嗯,不錯的主意。但是——為什么不這樣做:

  1. template <class T1, class T2> 
  2. T1 func(T2 arg)  
  3. {  
  4.     T1 var;  
  5.     ... // 處理var過程  
  6.     return var;  
  7. }  
  8.  
  9. void test()  
  10. {  
  11.     int result1 = func<int>(1);  
  12.     double result2 = func<double>(2);  
  13. }; 

很抱歉,這種用法VC++ 6.0不支持。讓人惱火的是,VC++ 6.0編譯時不會提示錯誤,但是生成的執(zhí)行代碼卻很成問題。

【編輯推薦】

  1. C與C++中標準輸入實現(xiàn)方式上的一點區(qū)別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制
責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-01-27 15:11:17

VC++編譯異常

2010-01-27 17:42:58

VC++開發(fā)環(huán)境

2010-01-18 10:34:21

C++編譯器

2010-02-02 17:08:26

Python靜態(tài)編譯器

2010-02-02 17:08:26

Python靜態(tài)編譯器

2010-02-03 15:30:03

IronPython

2010-01-15 16:37:28

Visual C++

2010-01-22 10:44:10

VC++應用程序

2010-01-13 17:12:26

C++編譯器

2010-01-08 16:23:11

Ubuntu C++

2010-01-21 17:22:21

VC++

2021-01-27 09:34:51

Visual C++Dev C++codelite

2010-01-21 09:11:38

C++編譯器

2009-12-11 15:38:40

VS2008編譯器

2010-03-23 11:17:16

Python 動態(tài)編譯

2010-01-26 13:29:46

VC++應用程序

2009-08-10 17:12:54

C#編譯器

2013-03-29 10:02:37

編譯器語言編譯開發(fā)

2017-03-20 18:01:55

編譯器匯編

2010-10-20 13:43:37

C++編譯器
點贊
收藏

51CTO技術棧公眾號