對using namespace std的一些理解

2021-08-28 11:05:30 字數 1249 閱讀 9474

最近剛學習c++,看了c++ primer和c++ primer plus,看的是一頭霧水,最後打算重新理解,不過與c++也混了個臉熟

看了剛開始的c++,有一點感悟,打算寫下來。

最初看到std::cout和std::cin是一臉懵逼,也不知道是什麼,更別說是using namespace std;即使我看到後面也沒理解,因為剛開始c++ primer plus說的是這是防止兩個同時用了相同的函式,那麼程式就不知道該用哪個,比如說c++ primer plus上說的兩個公司同時用的wander()函式。雖然書上先介紹了這個,但我還是一頭霧水,或許是我比較笨吧。。。。。

c++ primer plus 914,915頁使用命名空間才讓我理解它。(其實是初步理解。。。。。)

c++ primer 701~704頁是更透徹的理解。(畢竟是高階書,都是值得看的書)。

其實在標準庫中(即iostream)就有他的定義。

下面是在iostream中的定義:

namespace std

std::cin;

std::cout;

std::endl;

std::cerr;

std::clog;

現在還可能對using有一點陌生,因為我剛開始看書的時候using被介紹為using宣告語句,但在這裡他用的是using其他的功能,

using指示,就像書上說的using宣告和using指示有著很大的差別。using宣告只是簡單令名字在區域性變數中有用,而using指示可以使整個命名空間中的內容都有效。

namespace blip{

int i=16,j=15,k=23;

int j=0;

void manip()

using namespace blip;//這裡可以理解為可以在這個函式中使用blip中的成員

++i;                                  //blip中的i加一

++j;

++::j;                      //這裡用了作用域運算子,表示用的是全域性變數中的j

++blip::j;              //這裡指定了blip中的物件,所以j變為17

int k=97;                   //區域性變數與blip中的物件重名後,用的就是區域性變數,區域性變數能隱藏命名空間中的成員

++k;

注:當主函式中如果只用命名空間的幾個成員,最好別引用所有的成員

第一次寫部落格,也是看了劉大佬( 劉未鵬)的文章才開始寫部落格

命名空間using namespace的簡單理解

命名空間是用於對變數名和函式名相同的程式進行區分,如如下程式當中將兩個變數x劃分到不同的命名空間當中去,以方便程式明白對指定的變數進行輸出操作 includeusing namespace std 使用命名空間std,在命名空間當中進行了cout和cin連個關鍵字的命名操作,如果不使用命名空間的話,...

對建立游標對理解

步驟 1 首先經過底層的 編寫已經建立起了了python和資料庫之間的溝通橋梁並封裝成了模組,通過pymysql下的conntent 方法與之建立起了連線,例項物件。pymysql.connect 方法返回的是connections模組下的connection 例項,connect 方法傳參就是在給...

對勾函式 對勾函式

對勾函式是一種類似於反比例函式的一般函式。所謂的對勾函式,是形如 f x ax b x 的函式,是 一種教材上沒有但考試老喜歡考的函式,所以更加要注意和學習。一般的函式影象形似兩個中心對稱的 對勾,故名。當x 0 時,f x ax b x 有最小值 這裡為了研究方便,規定a 0 b 0 也就是當 x...