@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
前言:
選擇自己心中最新歡的事情去做,畢竟之前計算機基礎課程基礎也打得不錯,深入的學習C++。我一直相信母親說過的一句話:“不要認為你做不到,只要你想去做,就一定能做得到”。自我勉勵之。同時開博是為了總結自己學習,希望能對有些人有所幫助。
由very simple的小程序包含的許多C++基礎知識。
1 //a small C++ program
2 #include <iostream>
3
4 int main()
5 {
6 std::cout << "Hello, world!" << std::endl;
7 return 0;
8 }
#程序的第一行為注釋,//是行注釋。
#std是一個命名空間(名字空間)namespace
#對于return語句,return 0表示程序正常退出。
#對于return語句,如果是函數的定義要求返回某種特殊類型的值,那么這個函數中所有的return語句都必須返回相應類型的值。
#剖析“Hello world!程序的總結”如下
#該程序中有兩個貫穿C++的概念,表達式和生存空間(scope)
#表達式
#表達式的作用是請求系統進行計算。計算后會生成一個結果,同時也可能會有一些副作用。(所謂的副作用就是它會影響程序或者系統的狀態)。行6也是個表達式
,它的副作用是在標準輸出流輸出“Hello, world!”并且當行結束。
#表達式由操作符和操作數(operand)構成。如行6,兩個<<符號都是操作符,而剩下的std::cout、“Hello world”、std::endl則是操作數。
#操作數:每個操作數都是一種類型。(即都表示一種數據結構和它適合的操作,它決定了操作符的脾氣(產生的結果),總而言之只要記住操作數決定了操作符的 脾氣。)(int表示整數類型,std::ostream定義為流輸出,std::cout的類型是std::ostream)
#操作符:<<操作符有左結合性(left-assocoative)左結合性是一種貪心思想,當表達式出現兩個以上的<<,左結合性總是貪心左邊的操作數。
#分析:第一個<<是以std::cout作為它的左操作數,而以"Hello, world"作為右操作數。
第二個<<的左操作數是一個(生成std::cout結果)的表達式,其類型是std::ostream.右操作數是std::endl,是一個mainpulator(控制符)。當<<
左操作符是std::ostream,而右操作數是mainpulator時,<<會根mainpulator的語義來控制流輸出,并且返回流作為它的結果。如:當mainpulator是
std::endl時,它結束當前輸出行。
#scope
#namespace:命名空間機制,相當于java中的包機制。
#scope,中文稱為生存空間,::是生存空間操作符,::左邊是生存空間的表示符std,而右邊就是定義在命名空間中的名字。
#“Hello,world”稱為字符串直接量,字符串直接量中,一些字符前面加上(\)后具有特殊的意義。