學(xué)習(xí)筆記
C++ primer
第二章 開(kāi)始學(xué)習(xí)C++
C++ 源代碼基本組織布局(和C相似):
#include<iostream>
int main()
{
????????using namespace std;
????????cout >> "hello world!"<<endl;
????????return 0;
}
和C最大的區(qū)別時(shí) using namespace 語(yǔ)句的使用,這很像C語(yǔ)言中變量名的作用域(存儲(chǔ)類(lèi)別),很好理解。其次是 cout/cin,這也不難理解,很像C中的io(C primer中文件重定向那章有提到輸入輸出與流的概念和他們之間的關(guān)系),cout/cin與重定向內(nèi)容大致一致。頭文件iostream我理解為輸入輸出流文件,類(lèi)似于C中stdio.h。
本章都是介紹的C++的基礎(chǔ),和C有很多相似之處,對(duì)于C++中最重要的類(lèi)有簡(jiǎn)要介紹,我還不太理解,但是下面這段話(huà)說(shuō)的很清楚,類(lèi)似于算法?數(shù)據(jù)結(jié)構(gòu)?
類(lèi)是用戶(hù)定義的一種數(shù)據(jù)類(lèi)型,要定義類(lèi),需要描述它能夠表示什么信息和可對(duì)數(shù)據(jù)執(zhí)行哪些操作。類(lèi)之于對(duì)象如同類(lèi)型之于變量。
本章小結(jié):
C++程序由一個(gè)或多個(gè)被稱(chēng)為函數(shù)的模塊組成。程序從main()函數(shù)開(kāi)始執(zhí)行,因此main()函數(shù)必不可少。函數(shù)由函數(shù)頭和函數(shù)體組成。函數(shù)頭指出函數(shù)的返回值(如果由的話(huà))的類(lèi)型和參數(shù)信息。
有多種類(lèi)型的C++語(yǔ)句,包括下述6種。
聲明
賦值
消息
函數(shù)調(diào)用
函數(shù)原型
返回
類(lèi)是用戶(hù)定義的數(shù)據(jù)類(lèi)型規(guī)范,他詳細(xì)描述了如何表示信息以及可對(duì)數(shù)據(jù)執(zhí)行的操作。對(duì)象是根據(jù)規(guī)范創(chuàng)建的實(shí)體,就像簡(jiǎn)單變量是根據(jù)數(shù)據(jù)類(lèi)型描述創(chuàng)建的實(shí)體一樣。
C++提供了兩個(gè)處理輸入輸出的預(yù)處理對(duì)象,他們是istream和ostream類(lèi)的實(shí)現(xiàn)。這兩個(gè)類(lèi)是在iostream文件中定義的,為ostream類(lèi)定義的插入運(yùn)算符(<<)使得將數(shù)據(jù)插入輸出流成為可能;為istream類(lèi)定義的抽取運(yùn)算符(>>)能夠從輸入流種抽取信息。cin和cout是智能對(duì)象,能夠根據(jù)程序上下文自動(dòng)將信息從一種形式轉(zhuǎn)化為另一種形式。
思考:
如果istream和ostream是類(lèi)的話(huà),那么他們的操作是輸入與輸出,操作的對(duì)象是流。如何理解類(lèi)是用戶(hù)定義的呢?類(lèi)與對(duì)象是不是撇去機(jī)器低層面的細(xì)節(jié),將各種數(shù)據(jù)抽象為由類(lèi)規(guī)范的統(tǒng)一對(duì)象后進(jìn)行統(tǒng)一操作?因?yàn)閏out不需要像printf一樣用轉(zhuǎn)義字符。