正文

類型、變量與標(biāo)準(zhǔn)(7)

通過游戲編程實(shí)戰(zhàn)教新手學(xué)C++編程 作者:(美)Michael Dawson


1.3  使用std名稱空間

因?yàn)榻?jīng)常要用到std名稱空間中的元素,在此介紹兩種不同的可以直接使用這些元素的方法,這樣就不必總是使用std::前綴。

1.3.1  Game Over 2.0程序簡(jiǎn)介

Game Over 2.0程序的運(yùn)行結(jié)果和圖1-2所示的原始Game Over程序一模一樣,但是區(qū)別在于訪問std名稱空間中元素的方式。從Course Technology網(wǎng)站(www.courseptr.com/downloads)或本書合作網(wǎng)站(http://www.tupwk.com.cn/downpage)上可以下載到該程序的代碼。程序位于Chapter 1文件夾中,文件名為game_over2.cpp。

// Game Over 2.0

// Demonstrates a using directive

#include <iostream>

using namespace std;

int main()

{

cout << "Game Over!" << endl;

return 0;

}

1.3.2  使用using指令

與Game Over程序一樣,Game Over 2.0也以兩行注釋和用于輸出的iostream頭文件開始。但是接下來,我們看到了一行新的語句。

using namespace std;

using指令讓我們直接獲取std名稱空間中元素的訪問權(quán)。如果還是將名稱空間比作區(qū)號(hào),那么從上面語句開始,所有std名稱空間中的元素就如同本地電話號(hào)碼一樣。也就是說,無須加上區(qū)號(hào)(std::前綴)就可以訪問它們。

現(xiàn)在我們可以不加任何前綴就使用cout和endl。就目前而言,這似乎無足輕重。但如果要幾十甚至上百次地引用這些對(duì)象,這就非常有用了。

1.3.3  Game Over 3.0程序簡(jiǎn)介

還有另外一種實(shí)現(xiàn)Game Over 2.0的方法:將文件配置成不必每次顯式地使用std::前綴就可以訪問cout和endl。這正是將要在Game Over 3.0程序中展示的方法,Game Over 3.0顯示的文本和Game Over 2.0一模一樣。從Course Technology網(wǎng)站(www.courseptr.com/downloads)或本書合作網(wǎng)站(http://www.tupwk.com.cn/downpage)上可以下載到該程序的代碼。程序位于Chapter 1文件夾中,文件名為game_over3.cpp。

// Game Over 3.0

// Demonstrates using declarations

#include <iostream>

using std::cout;

using std::endl;

int main()

{

cout << "Game Over!" << endl;

return 0;

}

1.3.4  使用using聲明

3.0版本的Game Over程序使用了兩個(gè)using聲明。

using std::cout;

using std::endl;

通過明確聲明希望std名稱空間中的哪些元素對(duì)程序本地化,可以像程序Game Over 2.0一樣直接訪問它們。雖然這樣做與使用using指令比起來輸入量要更多一些,但優(yōu)勢(shì)在于清晰地指明了計(jì)劃使用的名稱空間中的元素。另外,這不會(huì)將無意使用的元素本地化。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)