01-01-01
了解C++
目錄
01-01
程序?qū)嵗?/h3>
#include <iostrem> //a PREPROCESSOR directive 預(yù)處理器指令
int main()//function header 函數(shù)頭部
{
using namespace std;
cout << "Come up and C++ me some time.";
cout << endl;
cout << "You won't regret it!" << endl;
return 0;
} //end of function body
01-02
C++預(yù)處理器與iostream文件
#include <iostrem> //a PREPROCESSOR directive 預(yù)處理器指令
01-03
main()函數(shù)
int main()
{
statements
return 0;
}
這幾行表明有一個名為mian()的函數(shù)河胎,并描述了該函數(shù)的行為个少。這幾行代碼構(gòu)成了函定義(function definition)奖年。主要有兩部分組成
第一部分是函數(shù)頭
:int main()
第二部分是函數(shù)體
:{//括號中所包含的}
main()中最后最后一條語句叫做返回語句(return statement),他結(jié)束該函數(shù)堪藐。
01-04
頭文件名
<iostrem>
像iostream這樣的文件叫包含文件(include file)---由于它們被包含在其他文件中旭咽;也叫頭文件(header file)---由于它們被包含在文件起始處幼苛。
C++編譯器自帶了很多頭文件大咱,每個頭文件都支持一組特定的工具恬涧。
01-05
名稱空間
如果使用iosstream,而不是iostream.h碴巾,則應(yīng)使用下面的名稱空間編譯指令來使用iostream中的定義對程序可用
using namespace std;
這叫做using編譯指令溯捆。詳細請看第九章
使用命名空間的好處:
名稱空間支持是C++的特征,旨在讓你編寫大型程序時厦瓢,如果需要引用多個廠商的代碼組合起來的程序提揍,更易于組織。
實際開發(fā)中的潛在問題煮仇,可能使用兩個已經(jīng)封裝好的產(chǎn)品劳跃,而他們都包含一個名為wanda()的函數(shù)。
這樣浙垫,使用wanda()函數(shù)時刨仑,編譯器將不知道是哪個版本,但如果使用名稱空間绞呈,就可以使用不同的wanda()函數(shù)
Misroflop::wanda("go dancing ");
Piscine::wanda("a fish named Desire");
按照這種方式贸人,類、函數(shù)和變量便是C++編譯器的組件標(biāo)準(zhǔn)佃声,它們現(xiàn)在都被放置在名稱空間std
中艺智。
意味著在iostream
中定義的用于輸出的cout變量實際上是std::cout,而endl實際上是std::endl圾亏。因此可以省略編譯指令using十拣。
std::cout << "Come up and C++ me some time";
std::cout << std::endl
上面方法很麻煩,所以想著方便(使用iostream.h和cout)志鹃,但是using編譯指令可以讓你毫不費力的進行轉(zhuǎn)換夭问。不必在最前面加上std::
那就是使用using namespace std;
但是在大型項目上,也產(chǎn)生了問題曹铃。更好的辦法是缰趋,只使用所需的名稱可用,可以通過如下方法進行聲明來實現(xiàn):
using std::cout;
using std::endl;
using std::cin;
用如上編譯指令代替下述代碼后陕见,便可以使用cin
和cout
秘血,而不必加上std::
前綴
01-06
使用cout進行C++輸出
使用輸出語句,C++把輸出比喻成一個流程评甜,以下語句就是將"Come up and C++ me some time"
cout << "Come up and C++ me some time.";
<<
插入運算符
原本(<<)是按位左移運算符(<<)灰粮。這是通過運算符重載,同一個運算符將有不同的定義忍坷。編譯器通過上下文來確定運算符的含義粘舟。
C++擴展了運算符重載的概念熔脂,允許用戶定義的類型(類)重新定義運算符的含義。
控制符endl
cout << endl
endl是一個特殊的C++符號柑肴,表示一個重要概念:重起一行霞揉,在輸出流中插入endl將導(dǎo)致屏幕光標(biāo)移到下一行開發(fā)頭
最后編輯于 :2017.12.10 07:19:46
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者