C 標準庫的初探

2022-08-18 10:30:16 字數 2973 閱讀 4262

1,操作符 << 的原生意義是按位左移,例:

1 << 2;

其底層的意義是將整數 1 按位左移 2 位,即:

0000 0001  ==> 0000 0100;

2,過載左移操作符,將變數或常量左移到乙個物件中;

3,過載左移操作符程式設計實驗:

1,main.cpp 檔案:

1 #include 2

3const

char endl = '\n'

;45class

console

614 console& operator

<< (char

c)15

20 console& operator

<< (const

char*s)

2126 console& operator

<< (double

d)27

32};

3334 console cout; //

cout 代表乙個命令列 console 物件;

3536

intmain()

37

2,輸出結果:

1d.t.software

0.300000

3,說明:

1,如果進行了左移的過載之後,那麼程式將產生神奇的變化,在 main() 中不用 printf() 和格式化字串 '\n' 了,因為編譯器會通過過載的機制會為我們選擇究竟使用哪乙個過載機制;

4,c++ 標準庫:

1,重**明輪子並不是一件有創造性的事,站在巨人的肩膀上解決問題會更加 有效;

1,以後在工程開發中,如果有好的想法,想要實現某些模組,在真正的動手之前,一定要查閱是否有前輩實現了這個方法,如果有,可以找來看看,如果滿足需求,直接拿來用,如果不是,再拿來改寫(你的軟體);

2,現在巨人的肩膀就是前人開發的 c++ 標準庫;

2,c++ 標準庫並不是 c++ 語言的一部分;

1,各大廠商規定,只要發布一款編譯器,就要隨之發布一款標準庫;

3,c++ 標準庫是由類庫和函式庫組成的集合;

4,c++ 標準庫中定義的類和物件都位於 std 命名空間中;

5,c++ 標準庫的標頭檔案都不帶 .h 字尾;

6,c++ 標準庫涵蓋了 c 庫的功能;

1,c 庫是 c++ 標準庫子庫,為了相容 c 語言;

5,c++ 編譯環境的組成:

1,編譯模組支援 c++ 標準語法和 c++ 擴充套件語法,擴充套件語法對不同的編譯器是     不一樣的、不通用的;

2,c 語言相容庫,看上去和用起來和 c 語言庫是完全一樣的,因為編譯器廠商都希望自己的 c++ 編譯器被最大程度的接受,因此直接提供一樣的 c 語言標頭檔案供開發者使用,目的是讓編譯器能夠直接編譯成功使用者所寫的 c 語言**,僅僅是為了推廣 c++ 編譯器,這裡的 c 語言相容庫和 c++ 標準庫中的 c 庫子模 塊在功能上是重複的,但是包含的標頭檔案不一樣而已;

3,編譯器擴充套件庫是由編譯器生產廠商定製的,因編譯器不同而不同;

6,c++ 標準庫預定義了多數常用的資料結構:

1,2,

3,1,相當於 stdio.h  string.h  stdlib.h  math.h;

2,c++ 標準庫中的 c 庫子模組;

3,這不是 c 語言相容庫;

7,c++ 標準庫中的 c 庫相容程式設計實驗:

1,main.cpp 檔案:

1 #include 2

//#include

//這裡包含的不是 c 語言庫的標頭檔案,這是 c++ 編譯器提供的 c 語言相容庫的標頭檔案,不是標準庫的一部分,不用開啟 std;

3 #include //

c++ 中的標準庫檔案,同時一定要開啟 std 命名空間;

4 #include 5 #include 6

7using

namespace

std;89

intmain()

10

2,輸出結果:

hello world!

c = 5.000000

3,c 語言中是沒有前六行的寫法,意味著推出的 c++ 編譯器附帶的自由 c++ 標準庫的時候,c 語言的**只有更改標頭檔案後才能夠編譯通過,意味著已經存在的這些 c 語言**不能夠被編譯通過,因此使用 c++ 的使用者肯定很少,因此 c++ 編譯器廠商就提出來自己的 c 語言相容庫,在使用方式上和 c 庫一樣;

4,使用標準庫一定要開啟標註庫:

1,using namespace std;

8,c++ 標準庫:

1,前人根據物件導向思想,認為在現實中顯示器有乙個物件,鍵盤也是有乙個物件,物件導向思想就是要將現實世界無縫的搬到電腦程式領域;

2,c++ 標準庫中有乙個全域性物件 cout,用來表示顯示器,有乙個全域性物件 cin,用來表示鍵盤;

9,c++ 中的輸入輸出:

1,main.cpp 檔案:

1 #include 2 #include 3

4using

namespace

std;56

intmain()

7

2,輸出結果:

hello world!

input a: 3

input b: 4

c = 5

3,本節課後續所有輸入輸出採用 c++ 標準庫,不在採用廠商提供的 c 相容庫;

10,小結:

1,c++ 標準庫是由類庫和函式庫組成的集合;

1,沒有 *.h 檔案;

2,c++ 標準庫包含經典演算法和資料結構的實現;

3,c++ 標準庫涵蓋了 c 庫的功能;

4,c++ 標準庫位於 std 命名空間中;

32 初探c 標準庫

操作符 的原生意義是按位左移,例 1 2 其意義是將整數1按位左移2位,即 0000 0001 0000 0100 過載左移操作符,將變數或常量左移到乙個物件中。include const char endl n class console public console operator int i...

C 32 初探標準庫

進行乙個有趣的過載 開始試驗 class test test cout cout.operator 1 cout 1 改進有模有樣的 include const char endl n class console console operator char c console operator co...

第32課 初探C 標準庫

操作符 的原生意義是按位左移,例 1 2 其意義是將整數 1 按位左移 2 位,即 0000 0001 0000 0100 過載左移操作符,將變數或常量左移到乙個物件中!1 include 2 3const char endl n 45class console613 14 console oper...