两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

1.從C語言到C++

1980年,Bjarne Stroustrup博士著手創(chuàng)建一種新的語言,能夠具有面向?qū)ο蟮某绦蛟O(shè)計特色。在當(dāng)時,面向?qū)ο缶幊淌且粋€新穎的概念,Stroustrup博士并不是從頭開始設(shè)計新語言,而是使用C語言進(jìn)行修改,而這就是C++語言。

C++是C的超集,也就是說C++是可以兼容C語言的,C++在C語言的基礎(chǔ)上增加了許多的特性和概念,他通關(guān)關(guān)鍵字的方式進(jìn)行實現(xiàn),不過本文不重點說明C++和C語言的區(qū)別,本文只是從數(shù)據(jù)結(jié)構(gòu)的角度去觀測兩語言之間的問題,并且說明C++的改進(jìn),從本文開始,將會在C語言的基礎(chǔ)上開始用到C++的特性和概念去實現(xiàn)數(shù)據(jù)結(jié)構(gòu),這將方便我們的程序設(shè)計。

2. 代碼改變

介紹幾個很明顯的轉(zhuǎn)變我們以后會很常用,這些可以在C語言網(wǎng)的C++教程中看到,如果你已經(jīng)學(xué)過C++,建議你可以直接跳過本段內(nèi)容,如果你對于C++還一知半解的,建議你在閱讀本文的同時去翻閱C++的學(xué)習(xí)資料,兩者的學(xué)習(xí)并不沖突,相反他們相輔相成。

a)頭文件引用

C語言的引用頭文件的方式是include名字.h的方式進(jìn)行引用,而C++去掉了.h(雖然在絕大多數(shù)編譯器上任然使用.h的方法也不會報錯)而是改成直接引用名字即可,這里需要注意的是C++使用C語言標(biāo)準(zhǔn)時,需要在庫前面添加一個c來表明這個庫是來自于C語言的。

//C語言的方法:帶.h的方式進(jìn)行include
#include<stdio.h>
#include<math.h>
 
//C++的方法,直接引用即可
#include<cstdio>
#include<cmath>

b)輸入與輸出

C++的輸入輸出與C語言指定類型的不同,C++采用“流”的思路去進(jìn)行輸入輸出設(shè)計,這樣的做法可以大大簡化我們的設(shè)計,但是這樣的做法確是更慢,本章稍后會介紹輸入輸出的優(yōu)化,將會重講本內(nèi)容。

int n; //定義n為整形
//C語言的輸入輸出(需要指定類型,如下指定為整形)
scanf("%d",&n);
printf("%d",n);
//C++語言的輸入輸出(不需要指定類型,會根據(jù)n進(jìn)行自主的判定)
cin>>n;
cout<<n;

3. 即將開始—STL

STL是Standard Template Library的簡稱,中文名標(biāo)準(zhǔn)模板庫,惠普實驗室開發(fā)的一系列軟件的統(tǒng)稱。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普實驗室工作時所開發(fā)出來的。從根本上說,STL是一些“容器”與“算法”的集合,所謂的這些“容器”無非就是已經(jīng)實現(xiàn)好了數(shù)據(jù)結(jié)構(gòu),能夠讓程序設(shè)計者更為方便的進(jìn)行調(diào)用,“算法”則顧名思義就是已預(yù)先實現(xiàn)好了的算法集合。

STL的目的是標(biāo)準(zhǔn)化組件,這樣就不用重新開發(fā),可以使用現(xiàn)成的組件。STL現(xiàn)在是C++的一部分,因此不用安裝額外的庫文件。STL的版本很多,有很多公司或者工作室自定義STL形成各種各樣的自定義標(biāo)準(zhǔn)。。

在C++標(biāo)準(zhǔn)中,STL被組織為下面的13個頭文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。

     使用STL可以大大輔助簡化我們的算法與數(shù)據(jù)結(jié)構(gòu)的設(shè)計,但是我們必須要記住,在我們使用之前,我們必須要了解他的原理,掌握它的技巧,否則就是亂用,切記。


點贊(5)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:

一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運行等待時間)