1. 程式人生 > >《C++ Primer》讀書筆記-第一章 Hello World

《C++ Primer》讀書筆記-第一章 Hello World

好吧,不管怎麼說,總算可以開講了,那些什麼授人以漁無量功德的話就不說了,因為不知道我所說的能否真的能夠幫助大家,然而該感謝的人一個人都不能少,首先感謝牛客網ID為我知道啥,我是讀了他的文章後收受到了啟發,萌發了也要寫一篇讀書筆記的念頭,感謝CSDN,上面有很多人總結不少C++的讀書筆記。要感謝的人很多,好了,廢話就不說,直接開始吧。

       和所有的語言開篇一樣,我們還是以“Hello World”來開始

#include  <iostream>
using namespace std;
    
int  main()
{
          cout<<"hello world<"<endl;
         return  0;
}

(提供的原始碼都是經過了驗證的,可能排版會有點問題,但是執行肯定是可以以的)

      是不是很簡單?試著執行下看看吧。

      現在來說說這函式吧。第一句#include <iostream>包含相關標頭檔案(輸入輸出相關的函式都在這個標頭檔案中,它包含兩個基礎型別istreamostream,分別表示輸入流和輸出流。可以理解為:隨著時間的推移,字元是順序生成或消耗的。

      第二句 using  namespace std,使用了名稱空間std,名稱空間的概念簡單說就是自己定義了一些函式,這些函式在你自己定義的一個作用域內,這個作用域就是所謂的名稱空間,我們可以使用這個作用域內的函式,但是前提是我們必須告訴別人我們要使用這個作用域內的函式,例如我們定義自己實現的函式myFunction();。自己的名稱空間mySpace,我們要使用這個函式時可以這麼做:

 

namespace mySpace     // 定義了自己的namespace叫mySpace
{
   void myFunction() //自己定義的函式myFunction()
     {printf("helloworld\n");}
}

    我們現在要使用我們自己定義的函式myFunction().

方法一:

using namespacemySpace;//使用我們自己定義的名稱空間,在後面可以直接呼叫我們實現的函式。通俗點就是“先入為主,注意了,後面我要隨便呼叫名稱空間裡的函式,編譯器你不要報錯”

myFunction();

方法二:

     mySpace::myFunction(); ::為域作用符,這個很簡單理解。“猴子吃香蕉,吃一截剝一截”,要用的時候再告訴編譯器。

       第四句int main()這是控制檯程式的入口函式,簡單點說,這就是一個驅動函式,將控制檯呼喚出來的,下面會將該函式變換一下大家就明白了。

       第六句,就是將“Hello World”列印在控制檯上,並換行,cout為標準輸出函式,將我們所要輸出的訊息列印在控制檯上。endl表示換行,這句話用標準C語言輸出則為:printf(“helloworld \n”);

       這個程式很簡單,沒什麼可說的了,這裡只是起個拋磚引玉的作用,下面再來看看這個程式:

 

#include <iostream>
using namespace std;

void Show();
int main()
{
Show();
       return 0;
}
void Show()
{
       cout<<"hello world"<<endl;
}

     大家再試試這段程式,輸出是不是還是一樣的啊?大家可以逐步除錯,可以看到最開進入的main()函式,到"{"的時候控制檯就出來,再往下執行到Show()的時候才會跳轉到int Show()的入口處,執行Show()函式。

       好了,Hello World就到這裡吧,這裡主要是拋磚引玉,讓大家對C++語言有個感性的認識,要想學好,還得靠自己多寫多練。

  寫到這裡順便再提一下,int main()函式表示函式的返回值為int型,我們在程式結束時return 0就是告訴編譯器程式正常結束,作業系統可以回收資源了,在C++中我們一般用return 0表示程式正常退出,其他值表示出錯。另外在 int main()中我們可以省略return 0,編譯器會預設為我們新增一個return 0,這句話的意思就是:一個有返回值的函式我們可以不給它返回值,特例就是main函式,面試的時候細節很重,今天就到這裡了。

-------------------------------------------------------------------------------------------------------------------------------------------------------

關於我自己

     * 一個正派但不正經的程式設計師

    *  18年計算機專業碩士畢業生,騰訊SNG部門實習生,現加盟快手科技 ,後端研發工程師一枚

    *  喜歡技術,喜歡網際網路

    * 民遙控 ,趙雷、陳粒、宋冬野

    * 公眾號:程式設計美學,時不時寫篇文章,偶爾數羊,其實說到底,只是想和你聊聊
在這裡插入圖片描述