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

全面講析C++語(yǔ)言

開(kāi)發(fā) 后端
正如大家所了解,C#的語(yǔ)法與C++語(yǔ)言非常相似,實(shí)現(xiàn)從C++向C#的轉(zhuǎn)變,其困難不在于語(yǔ)言本身,而在于熟悉,下面就一起進(jìn)行學(xué)習(xí)了解。

C++語(yǔ)言對(duì)C語(yǔ)言進(jìn)行了改革性的改進(jìn),分為兩個(gè)方面,一方面是面向?qū)ο?,另一個(gè)方面就是模板技術(shù),在下文中將對(duì)C++語(yǔ)言的種種特性進(jìn)行全面的仔細(xì)研究,歡迎大家一起學(xué)習(xí)交流。

但是相信在將來(lái)也一定會(huì)加入這一功能),模板是C++中比較復(fù)雜的部分,但是作為一個(gè)真正的C++程序員,這部分很重要。尤其是對(duì)C++標(biāo)準(zhǔn)程序庫(kù)的掌握尤為重要。剛開(kāi)始的時(shí)候千萬(wàn)不要直撲VC中的各種向?qū)Ш驮O(shè)計(jì)器。

因?yàn)橐蕾?lài)開(kāi)發(fā)環(huán)境生成的很多代碼會(huì)把我們搞糊涂,也不利于我們學(xué)習(xí)C++語(yǔ)言本身。我的建議就是生成一個(gè)空的控制臺(tái)工程,然后自己向里面添加文件。如下就是一個(gè)簡(jiǎn)單的控制臺(tái)程序:

  1. //robindy/list.cpp  
  2.  
  3. #include <iostream> 
  4. #include <list> 
  5.  
  6. using namespace std;  
  7.  
  8. int main()  
  9. {  
  10. list<char> coll;  
  11.  
  12. for(char c = \'a\'; c <= \'z\'; ++c)  
  13. {  
  14. coll.push_back(c);  
  15. }  
  16.  
  17. list::const_iterator pos;  
  18. for(pos = coll.begin(); pos != coll.end(); ++pos)  
  19. {  
  20. cout << *pos << \' \';  
  21. }  
  22. cout << endl;  
  23.  
  24. return 0;  

對(duì)using namespace std;的解釋?zhuān)核^namespace,是指標(biāo)識(shí)符的各種可見(jiàn)范圍。C++標(biāo)準(zhǔn)程序庫(kù)中的所有標(biāo)識(shí)符都被定義于一個(gè)名為std的namespace中。

由于namespace的概念,使用C++標(biāo)準(zhǔn)程序庫(kù)的任何標(biāo)識(shí)符時(shí),可以有三種選擇:1、直接指定標(biāo)識(shí)符。例如std::ostream而不是ostream.完整語(yǔ)句如下:std::cout << std::hex << 3.4 << std::endl;2、使用using關(guān)鍵字。

using std::cout;using std::endl;以上程序可以寫(xiě)成cout << std::hex << 3.4 << endl;3、最方便的就是使用using namespace std;這樣命名空間std內(nèi)定義的所有標(biāo)識(shí)符都有效(曝光)。就好像它們被聲明為全局變量一樣。那么以上語(yǔ)句可以如下寫(xiě):cout << hex << 3.4 << endl;

這段程序用到了標(biāo)準(zhǔn)模板庫(kù),在屏幕上打印字符a~z,其中main函數(shù)的標(biāo)記式只有兩種是被C++標(biāo)準(zhǔn)委員會(huì)接受的,只有以下兩種寫(xiě)法是符合C++標(biāo)準(zhǔn)的,是可移植的。即:

  1. int main()  
  2. {  
  3. }  
  4. 和  
  5. int main(int argc, char* argv[])  
  6. {  

C++在main()的末尾定義了一個(gè)隱式的return 0; 但是在VC中必須顯式的寫(xiě)出return語(yǔ)句。在BCB中可以不寫(xiě)return而編譯通過(guò)。這段程序中用到了STL中的容器:鏈表。先是向鏈表中插入26個(gè)字母,然后從遍歷鏈表,輸出字符。我不建議初學(xué)者一開(kāi)始就從模板庫(kù)入手。

但是我建議應(yīng)該逐漸地有意識(shí)地學(xué)習(xí)模板庫(kù)。如我們應(yīng)該熟悉cout和cin的用法(位于iostream),而減少使用老式的C函數(shù)庫(kù)中printf和sc anf等。從控制臺(tái)入手的好處就是避免我們理解VC中向?qū)У裙ぞ呱傻钠渌a。#t#

整個(gè)程序的流程很清楚。新手學(xué)習(xí)VC的一大難點(diǎn)就是搞不清楚整個(gè)程序的流程(從那條語(yǔ)句開(kāi)始執(zhí)行,然后從那條語(yǔ)句退出。MFC做了太多封裝,掩蓋了事實(shí)的真相。。。。

通過(guò)控制臺(tái)我們可以很快地學(xué)習(xí)C++語(yǔ)言中的很多新特性。如類(lèi)的封裝、繼承和多態(tài)等。通過(guò)這個(gè)時(shí)期的學(xué)習(xí),要能夠掌握三個(gè)東西: C++關(guān)鍵字、語(yǔ)法(重點(diǎn)是和面向?qū)ο笥嘘P(guān)的,以及模板)、C++標(biāo)準(zhǔn)程序庫(kù)(知道怎么使用即可,要徹底掌握需要很多時(shí)間和精力)。

至于與界面有關(guān)的東東(MFC中很大一部分是與界面相關(guān)的類(lèi),所以我認(rèn)為MFC很臃腫而無(wú)聊!回頭看過(guò)以前用MFC寫(xiě)的程序,有一種“垃圾”的感覺(jué)。)自己做個(gè)測(cè)試:寫(xiě)一個(gè)控制臺(tái)程序,在其中體現(xiàn)出類(lèi)的繼承,函數(shù)重載,動(dòng)態(tài)多態(tài)(通過(guò)虛函數(shù)實(shí)現(xiàn)),數(shù)據(jù)封裝,C++標(biāo)準(zhǔn)庫(kù)的運(yùn)用。

責(zé)任編輯:chenqingxiang 來(lái)源: 51CTO.com
相關(guān)推薦

2010-01-20 11:02:42

C++開(kāi)發(fā)環(huán)境

2009-12-09 09:49:56

VS .NET 200

2010-01-20 14:25:56

函數(shù)調(diào)用

2025-02-18 00:08:00

代碼C++RAII

2010-01-18 15:53:27

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

2010-02-04 16:39:26

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

2010-01-25 10:10:42

C++函數(shù)參數(shù)

2010-01-15 17:38:37

C++語(yǔ)言

2011-07-15 01:29:39

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

2016-01-28 14:41:06

CC++編碼

2009-01-08 09:26:06

C語(yǔ)言指針類(lèi)型

2010-01-13 17:04:36

C++語(yǔ)言

2010-01-14 10:23:08

C++語(yǔ)言

2010-01-26 10:27:43

C++語(yǔ)言

2024-12-19 14:42:15

C++內(nèi)存泄漏內(nèi)存管理

2010-02-05 13:35:19

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

2011-06-15 09:47:14

C++

2010-01-14 10:34:02

C++語(yǔ)言

2010-02-22 11:02:55

Python功能

2010-02-04 16:43:18

Android 配置問(wèn)
點(diǎn)贊
收藏

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