include預編譯指令和命名空間

2021-10-20 09:16:23 字數 1203 閱讀 3517

#include using namespace std;
​ 這兩行使得iostream庫進入可用狀態,cin和cout的定義就包含在這個庫中。

#include
​ 此行**稱為include預編譯指令,它將iostream庫「包含」到程式中。cin 和 cout 在乙個名為 iostream 的檔案中定義,以上include 指令相當於將那個檔案賦值到程式中。

using namespace std;
​ c++使用命名空間組織名稱。命名空間是很多名稱(比如cin和cout)的集合。通過以上方式指定命名空間的語句稱為using預編譯指令。cin和cout等名稱在iostream中定義時,它們的定義指出它們在std命名空間中。

​ 注意:

1、c++之所以有命名空間,是因為太多的東西需要命名,結果就可能是有兩個或者更多的項同名,即乙個名稱可能具有兩個不同的定義。為消除歧義,c++將不同的項劃分到不同的集合中,保證同乙個集合(即同乙個命名空間)中沒有兩個項同名;

2、命名空間並不只是乙個名稱集合。它代表了乙個c++**主體,其中指定了某些名稱的含義(比如一些定義和/或宣告)。命名空間對名稱進行劃分,但和那些名稱配合的還有大量的c++**。

​ 字元前的符號\告訴編譯器:\之後的字元具有特殊含義,不能引用其字面含義。這樣的乙個字元稱為轉義序列

​ 若希望在乙個字串常量中插入反斜槓\或插入雙引號「,則必須使用"來轉變」的原有功能**義)。\\向編譯器表明你需要乙個真正的反斜槓\,而不是乙個轉義字元。\"表明需要乙個真正的雙引號,而不是結束乙個字串常量。

​ c++的部分轉義序列:

*** 換行符 \n** *水平製表符 \t*響鈴符 \a*反斜槓 \ \***雙引號 \ " **

​ 此外,c++11 支援所謂的原始字串字面值(raw string literals),它適合有太多字元要轉義的情況,該格式要求字串以r開頭,而且字串內容要放到一對圓括號中。例如:

cout << r"(c:\files\)";

聊聊C語言的預編譯指令include

include 相信大家不會陌生,在我們寫 時,開頭總會來一句 include include是幹嘛用的,很多教材都提到了,因此這裡不會再詳細解釋了,大概意思就是將 檔案需要用到的函式宣告 常量等包含到 檔案中。include不是c語言的關鍵字,而是屬於一種預編譯的指令,那麼預編譯又是個什麼東東,這...

include預編譯的作用

今天看到了乙個非常毀三觀的陣列定義 testarray.c include char arr 12 void output char str int main wsk.h this is wsk.h 5 11 wtf!在陣列定義中居然包含了乙個標頭檔案!這還了得?我們編譯一下看看會報什麼錯 我勒個去...

C C 預編譯指令和條件編譯

1.常見的預編譯指令和條件編譯項有如下這些 define undef ifdef ifndef if elif else endif 1 define 定義乙個預處理巨集 2 undef 取消巨集的定義 3 if 編譯預處理中的條件命令,相當於c語法中的if語句 4 ifdef 判斷某個巨集是否被定...