#includeusing namespace std;
int main()
while(cin>>value) 這裡所產生的是為判斷條件,先執行輸入操作;
cin>>value 它具有從標準輸入讀取下乙個數並且將讀入的值儲存在value中的效果;返回其左運算元。
當使用irtream物件作為條件,結果是測試流的狀態。如果流是有效的(讀入下乙個輸入是可能的)那麼測試成功。
遇到檔案結束符(end-of-file)或者無效輸入時,istream物件無效。條件失敗 往下執行;
2. 帶字元型和不帶字元型 signed 不帶unsigned 正負 和零;
3初始化不是賦值,初始化時建立物件並給他賦初始值,賦值是擦除物件的當前值並用新值代替。
4.類型別變數的初始化、
沒有定義初始化的時候,類自動執行預設建構函式。不管定義在**都會呼叫預設建構函式。但是有些類型別是沒有預設建構函式的。
std::string global_str;
int global_int;
int main()
其中只有local_int 沒有付初始值;
5.extern 只是宣告。宣告定義在其他地方,乙個變數可以多次宣告但是只能定義一次。
6. const 限定符;
定義乙個不可修改的 常量 也可以是變數;通過extern 宣告的const 可以再整個程式中使用。
int temp=dval=3.14;
const int &ri=temp;
如果ri不是const 那麼修改temp是不會修改 dval的;
int i=42;
const int &r=42;
const int &r2=r+1;
編譯時不能通過的。 因為const是唯讀的、不允許修改。
7.列舉 enum;
enum forms;
那麼預設為shere=2,cylin=3,polytgon=4;
也可以enum forms;
這時候piont2w=2,point3w=3;
enum的物件可以初始化或者賦值。
只能同意物件中的
8.類不是在類定義裡定義資料成員初始化資料成員,而是通過建構函式的特殊成員函式控制初始化;private成員,不是類的組成部分的**不能訪問;
struct,如果是使用struct那麼裡面所有的資料成員都是public;也可以這樣定義:
struct sales_item
9.標頭檔案為相關宣告提供乙個集中存放的位置。標頭檔案一般包含類的定義,extern變數的宣告和函式的宣告
標頭檔案中所做的宣告在邏輯上應該是適於放在一起的。編譯標頭檔案需要一定時間的,如果標頭檔案太大程式設計師可能不願意承受時間代價;
標頭檔案用於宣告而不是用於定義;宣告可以做多次定義只能一次,定義會分配空間,所以類似於
extern int ival=10;//這是乙個定義
double fica_rate;//這是乙個定義;沒有宣告
標頭檔案可以定義類,值在編譯時就已知道的const物件和inline 內聯函式;
10. 預處理器
#ifindef salesitem_h
#defin salesitem_h
#endif
測試salesitem_h預處理器變數是否未定義,如果未定義則執行下面語句,直到發現#endif。如果定義那麼忽略剩餘部分;
11 usingnamespace:
讀入未知的string 時候
#include#includeusing std::string;
int main(){
string word;
while (cin >> word)
cout《輸入 hello world 輸出的時候是 hello 換行 world;
因為讀取資料的時候遇到空格就返回 然後再次檢測資料流;
如果是int main(){
string s;
cin >> s;
cout<
11.2 getline 讀取整行文字
int main(){
string line;
while (getline(cin,line))
cout<
類似的還有getchar();clear.cin等等;
11.3 string
string.size() 返回s中字元的個數 string.empty 如果串為空則返回true 否則返回false;
11.4 vector 是容器,儲存一種型別的int string 或者自己定義的類point vectorpoint1;
作用的儲存同意型別的資料然後再做處理。
11.5 迭代器iterator
除了使用下標來訪問vector物件的元素外,標準庫還提供了另一種訪問元素的方法;使用迭代器;它是一種檢查容器內元素並遍歷元素的資料型別、
// 另外學習
11.6標準庫bitset
#include處理二進位制位的有序集;
C Primer學習記錄02
4 表示式 求餘 操作符只能被應用在整值型別 char short int和 long 的運算元上 如果有乙個 或兩個 運算元為負 餘數的符號則取決於機器 3.14 3 編譯時刻錯誤 浮點運算元 21 5 機器相關 結果為 1 或 1 邏輯與操作符 if a 0 arr a 3 將有危險的 越界 放...
c primer學習記錄(二)
string getline cin,s 讀取一行 cin讀入會自動忽略開頭的空白 空格符 換行符 製表符 從第乙個真正的字元讀起,直到遇到下一處空白為止 getline函式的引數是乙個輸入流和乙個string物件,函式從給定的輸入流中讀取內容,直到遇到換行符 換行符也被讀入 之後將所存內容存入到s...
c primer 容器 學習記錄
一般用vector 在容器中間施行插入集,則應該在輸入階段使用list,然後將內容拷貝給vector 讀取未知數量單詞,總是將新單詞插入末尾,刪除操作在頭部進行 快速隨機訪問 尾部插入好 頭部刪除好 deque 讀取固定數量單詞,將他們按字典順序插入到容器中 快速隨機訪問 尾部插入好 string ...