青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

vc++7.1轉移到vc++2005 需要的一些變動

1. 變量作用域
在vc7.1中, 如果一個變量定義在for語句的條件從句中,那么這個變量可以在for之后使用。但Vc8禁止這樣,會報告一個C2065錯誤.
for (int i = 0; i < 10++i)  
{                             
   
//codes here
}

if (i < 10).. //error in Vc8
for (i = 0; i < 5++i) //error in Vc8

解決方法:
在for語句之前聲明變量(可保證代碼在vc7.1和vc8下同時編譯通過)

int i =0;                    
for (i = 0; i < 10++i)
for (i = 0; i < 5++i)

2. 指針和引用的聲明
在Vc7.1中, 下面的代碼可以編譯, 但是vc8會報C4430 錯誤。(很難想象有些美國程序員竟然這樣聲明)

const & int a; //error in VC8
const * int b;  //error in VC8
int myfun (const & B); //error in VC8

解決方法:
把* 或&放到類型的后面.

const int& a; 
const int* b;
int myfun (const B&);

3. 默認int類型
在vc7.1中,如果定義一個變量但不聲明類型,那么默認為int。VC8不支持。

static i = 0// C4430 error in Vc8 
const i = 0//C4430 error

解決方法:
加上int.

static int i = 0
const int i = 0;

4. 函數的默認返回值類型
同上,VC8不支持把 int 作為默認返回值類

Func()
{return 0;}//error in VC8

解決方法:
明確聲明函數返回值類型為 int.

int Func()
{return 0;};

5. 函數地址
Vc7中函數名就是地址。在vc8中,必須要使用&操作符同時寫出這個方法的全名(fully qualified name).

class A
{
public:
     
int Test(void);
}
;
void fun(int (A::*test) (void));
int main() 
{
     fun(A::Test);
//C3867 error in VC
     return 0;
}

解決方法:
加上 &.

fun(&A::Test);

6. 隱式類型轉換
VC8不允許B* 到const B*&的隱式轉換.

class B{};
void fun ( const B* & );//if possible use const B* instead
int main() 
{
*test = new B();
fun (test); 
//error in VC8
return 0;
}

解決方法:
強制轉換或函數參數變成const B*。

void fun ( const B*  );

7. 友元方法(Friend function)
VC8不允許聲明一個private或protected函數為友元.

class A
{
private:
 
void c();  
}
;
class B
{
  friend 
void A::c(); //C2248 error, c() is invisible to class B.
}
;

解決方法 1:
聲明友元類.

class A
{
private:
 
void c();  
}
;
class B
{
  friend 
class A;
}
;

解決方法 2:
把函數聲明為public

class A
{
public:
 
void c();  
}
;
class B
{
  friend 
void A::c();
}
;

8. STL的stdext 命名空間
在vc8中,hash_map 和hash_set 被移進了stdext命名空間中.

#include <hash_map>
std::hash_map 
//error in VC8

解決方法:
使用stdext 命名空間.

#include <hash_map>
stdext::hash_map

9. 頭文件
許多頭文件如fstream.h 和iostream.h在VC8中已經不存在了.

#include <fstream.h> //error in VC8

解決方法:
使用STL.

#include <fstream>

10. Iterator
一些 STL 類, iterators 不再用指針實現

std::vector<DMDetailRow> m_data;
std::vector
<DMDetailRow>::iterator iter = &m_data[rowNum];

解決方法:

std::vector<DMDetailRow>::iterator Iter = m_data.begin() + rowNum;

11. Enum
使用一個Enum的成員時,不要使用enum的名字

enum E
{
  a,b,c
}
;
E e1 
= E::a; //warning in VC8

解決方法:
去掉Enum 的名字.

E e1 = a;

posted on 2006-03-09 08:48 夢在天涯 閱讀(1232) 評論(2)  編輯 收藏 引用 所屬分類: CPlusPlus

評論

# re: vc++7.1轉移到vc++2005 需要的一些變動 2006-03-10 11:30 Tauruser

這些都是你自己測試出來的嗎?
我正在學習VS2005  回復  更多評論   

# re: vc++7.1轉移到vc++2005 需要的一些變動 2006-03-14 11:05 夢在天涯

小明思考:

http://m.shnenglu.com/sandy/archive/2006/03/13/4081.html  回復  更多評論   

公告

EMail:itech001#126.com

導航

統計

  • 隨筆 - 461
  • 文章 - 4
  • 評論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1817668
  • 排名 - 5

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久亚洲私人国产精品va| 久久精品国产77777蜜臀 | 亚洲一区二区综合| 亚洲二区免费| 亚洲你懂的在线视频| 亚洲欧洲综合另类在线| 欧美在线影院在线视频| 亚洲一区二区三区四区五区黄| 亚洲欧美在线免费| 在线视频免费在线观看一区二区| 免费欧美日韩| 久久精品视频免费观看| 国产精品久久久久一区二区三区共| 欧美激情免费观看| 国语自产在线不卡| 亚洲欧美激情视频在线观看一区二区三区 | 欧美午夜大胆人体| 欧美国产国产综合| 国内精品久久久久久久果冻传媒 | 欧美日本一区二区高清播放视频| 久久久综合视频| 国产精品久久久久一区二区三区| 日韩午夜av| 亚洲欧洲日本国产| 欧美大秀在线观看| 欧美激情片在线观看| 悠悠资源网亚洲青| 久久一综合视频| 欧美国产精品久久| 亚洲大片在线| 免费观看日韩av| 欧美成人精品在线| 最近看过的日韩成人| 欧美激情一区二区| 一区二区免费看| 午夜激情一区| 亚洲午夜未删减在线观看| 欧美成人免费全部| 亚洲人成网站999久久久综合| 亚洲韩国一区二区三区| 欧美国产激情| 日韩亚洲欧美一区二区三区| 亚洲一区综合| 国产视频欧美| 狂野欧美性猛交xxxx巴西| 最新国产精品拍自在线播放| 在线一区二区三区四区| 国产欧美大片| 久久一区激情| 99国产精品视频免费观看| 欧美中文字幕在线播放| 永久555www成人免费| 欧美国产综合一区二区| 亚洲自拍电影| 国产精品拍天天在线| 欧美在线影院| 亚洲欧洲免费视频| 久久精品30| 亚洲麻豆视频| 国产情侣一区| 欧美日本成人| 欧美中文在线字幕| 亚洲美女视频网| 久久九九国产精品怡红院| 亚洲精品一区二区三| 国产一区二区三区久久 | 亚洲人人精品| 国产麻豆91精品| 欧美国产极速在线| 久久国产手机看片| 一本一本久久| 欧美国产日韩一二三区| 性久久久久久久久久久久| 91久久精品国产91久久| 国产乱肥老妇国产一区二| 欧美高清视频在线| 久久精品导航| 亚洲视频第一页| 亚洲国产精品va在线观看黑人| 欧美精品在欧美一区二区少妇| 久久aⅴ国产欧美74aaa| 亚洲网站在线| 91久久国产综合久久| 免费在线看一区| 久久久久国产精品午夜一区| 亚洲免费网址| 日韩视频一区二区三区在线播放免费观看| 国产欧美一区二区精品仙草咪| 欧美日产一区二区三区在线观看 | 久久久一二三| 欧美淫片网站| 午夜精品久久久久久久久| 91久久一区二区| 亚洲第一在线| 国产主播在线一区| 国产欧美日韩免费看aⅴ视频| 欧美三日本三级三级在线播放| 欧美精选一区| 欧美精品v日韩精品v韩国精品v | 欧美高清自拍一区| 久久久久久久国产| 欧美在线免费看| 亚洲欧美日韩国产综合精品二区| 一本大道久久精品懂色aⅴ| 亚洲电影免费| 亚洲国产你懂的| 亚洲国产成人精品久久| 亚洲第一综合天堂另类专| 欧美1区2区视频| 欧美福利网址| 欧美高清在线一区| 亚洲国产电影| 亚洲国产高清高潮精品美女| 欧美福利在线| 亚洲精品免费在线播放| 亚洲美女免费精品视频在线观看| 日韩亚洲一区二区| 在线亚洲美日韩| 亚洲永久免费精品| 欧美一区二区三区日韩视频| 欧美在线播放一区| 久久尤物电影视频在线观看| 久久午夜国产精品| 欧美精品尤物在线| 国产精品福利久久久| 国产亚洲精品久久久久久| 国外视频精品毛片| 亚洲乱码国产乱码精品精可以看 | 亚洲一级电影| 午夜欧美视频| 麻豆亚洲精品| 亚洲黄一区二区三区| 99视频精品| 久久动漫亚洲| 欧美激情第9页| 国产伦精品一区二区三区高清| 激情成人中文字幕| 亚洲美女黄色| 欧美一级久久久久久久大片| 久久人人爽人人爽| 亚洲激情不卡| 亚洲欧美综合网| 老司机成人在线视频| 欧美特黄一级| 极品av少妇一区二区| 妖精成人www高清在线观看| 性欧美8khd高清极品| 欧美国产日韩一二三区| 亚洲夜晚福利在线观看| 久久亚洲私人国产精品va| 欧美日韩大片一区二区三区| 国产久一道中文一区| 99re热精品| 久久九九久精品国产免费直播| 亚洲人体一区| 久久激情视频久久| 国产精品国产三级国产专播品爱网| 国内久久精品视频| 亚洲欧美在线高清| 亚洲激情另类| 久久国产精品久久w女人spa| 欧美日韩视频| 亚洲国产高清高潮精品美女| 欧美一区二区三区另类| 亚洲国产视频一区| 久久经典综合| 国产乱码精品一区二区三| 洋洋av久久久久久久一区| 欧美 日韩 国产一区二区在线视频 | 欧美色视频一区| 亚洲国产欧美在线| 久久一区二区精品| 亚洲欧美日韩国产精品| 欧美区二区三区| 亚洲高清精品中出| 久久久亚洲国产天美传媒修理工 | 国语精品一区| 欧美一区网站| 亚洲午夜久久久| 国产精品久久久久毛片软件| 一本久道久久久| 亚洲激情视频在线播放| 久久这里只有精品视频首页| 激情久久久久久久| 久久一区二区视频| 久久国产精品72免费观看| 国产欧美va欧美va香蕉在| 欧美一区二区三区在| 亚洲一区美女视频在线观看免费| 欧美午夜视频在线| 亚洲婷婷国产精品电影人久久| 亚洲精品1234| 欧美日韩激情小视频| 妖精视频成人观看www| 亚洲精品久久| 欧美日韩亚洲91| 亚洲伊人一本大道中文字幕| 日韩一区二区精品| 国产精品免费网站| 欧美一区二区三区啪啪|