源程式檔案命名約定
程式檔案通常被稱為原始檔
(source file)。不同編譯器使用不同的字尾命名c++程式,最常見的包括:.cc
、.cxx
、.cpp
、.cp
和.c
。
使用命令執行編譯器
$ cc prog1.cc
——
cc
是編譯器的名字,$
是系統提示符。編譯器生成乙個可執行檔案。
windows系統會將這個可執行檔案命名為 prog1.exe
unix系統中的編譯器會將可執行檔案命名為 a.out
在unix系統中,使用$ echo $?
在windows系統中,使用$ echo %errorlevel%
c++並沒有定義任何輸入輸出(io)語句,取而代之包含了乙個全面的標準庫
(standard library)來提供io機制(以及很多其他設施)。
iostream庫包含兩個基礎型別,istream
和ostream
,分別表示輸入流和輸出流。
標準庫定義了4個io物件。
使用了乙個名為cin
的istream型別的物件,這個物件被稱為標準輸入(standard input)
使用了乙個名為cout
的ostream型別的物件,這個物件被稱為標準輸出(standard output)
cerr
來輸出警告和錯誤資訊
clog
來輸出程式執行時的一般性資訊
// 告訴編譯器要使用iostream庫,<>表示是標頭檔案
#include int main()
兩種注釋方式:
單行注釋 //
注釋界定符 /* */
#include int main()
類機制是c++中最重要的特性之一。在c++中,我們通過定義乙個類(class)來定義自己的資料結構。實際上,c++最初的設計焦點就是能定義使用上像內建型別一樣自然的類型別(class type)。
為了使用類,我們需要了解三件事情:
下面通過乙個簡單的例子來解決這些問題:
對於乙個書店程式來說,我們假定類名為sales_item
,在標頭檔案sales_item.h
中定義這個類。
如此可見,為了使用標準庫設施,我們必須包含相關的標頭檔案。類似的,我們也需要使用標頭檔案來訪問自己的應用程式所定義的類。習慣上,標頭檔案根據其中定義的類的名字來命名。我們通常會使用.h
作為標頭檔案的字尾,但也有一些程式猿習慣使用.h
、.hpp
、.hxx
。標準庫標頭檔案通常不帶字尾。編譯器一般不關心頭檔名的形式,但有的ide對此有特殊的要求。
sales_item類的作用是表示一本書的總銷售額、售出冊數和平均售價。
每個類實際上都定義了乙個新的型別,其型別名就是類名。因此,我們的sales_item類定義了乙個名為sales_item的型別。與內建型別一樣,我們可以定義類型別的變數。
sales_item item;
定義了乙個sales_item型別的變數之後,我們還可以:
使用#include "sales_item.h"
來引入自定義的類。
$ additems outfile
item1.isbn()
而今,重走C 路 基礎(1)
c 定義了一套包括算數型別 arithmetic type 和空型別 void 在內的基本資料型別。算數型別分為兩類 整型 integral type,包括字元和布林型別在內 浮點型 算數型別的尺寸 也就是該型別資料所佔的位元數 在不同的機器上有所差別。如下表展示了c 標準規定的尺寸的最小值,同時允...
重走普及路 貪心 合併果子
在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等於每次合併所耗體力之和。...
重走普及路 樹 FBI樹
我們可以把由 0 和 1 組成的字串分為三類 全 0 串稱為b串,全 1 串稱為i串,既含 0 又含 1 的串則稱為f串。fbi樹是一種二叉樹,它的結點型別也包括f結點,b結點和i結點三種。由乙個長度為2 n的 01 串s可以構造出一棵fbi樹t,遞迴的構造方法如下 1 t的根結點為r,其型別與串s...