我的隨行筆記2 C++ Primer Plus
1.宣告陣列: short months[12]; 訪問其元素:month[0]~month[11]
2.初始化陣列:(1)int yam[3]={20, 3, 5}; // 列表初始化可省略等號,也可{}不包含資料,元素均初始化為0
(2)int xam[3]; xam[0]=20; xam[1]=3; xam[2]=5;
xam[3]={20,3,5};//錯,不允許 xam=yam; //錯,不允許將一個陣列賦給另一個陣列
long ph[]={25, 92, 3.0}; //錯,列表初始化禁止縮窄轉化,浮點double 轉化為長整型 long 為縮窄轉化
3. (1)c=sizeof yam; //結果是整個陣列的位元組數 c=12;
(2)c=sizeof yam[0]; //結果是元素的位元組數 c=4;
(3) sizeof yam/sizeof yam[0] 可以用於計算陣列元素個數
4. C++標準模板庫(STL)提供了陣列替代品——vector ,C++11新增模板類array.
5. 在確定儲存字串所需的最短陣列時,別忘了將結尾的空字元計算在內。
6. 'S’是一個字元常量, “S”表示兩個字元S和\0組成的字串。 “S”實際上表示字串所在的記憶體地址。
7. 陣列初始化字串常量: char name1[15]=“C++OwBody”;
sizeof (name1)=15 ; // 整個陣列長度
strlen(name1)=9; // 儲存在陣列中的字串長度,只計算可見字元,不計算空字元和結束字元\0;
4. 面向行的輸入:一般在輸入名字變數時應使用面向下一行輸入,讀取多個單詞
(1) cin.getline(name,20);//name:陣列名,20:字元數可以讀取一行中不超過字元數的多個單詞, Enter生成換行符,並將換行符替換為空字元(1) cin.getline(name,20);//name:陣列名,20:字元數可以讀取一行中不超過字元數的多個單詞, Enter生成換行符,並將換行符替換為空字元
(2)cin.get(name,20) ; cin.get(desetr,20) ; //會讀到行尾並保留換行符到輸入佇列中連續2次呼叫get(),在第二呼叫看到的第一個字元時換行符,認為以達到行尾,無法繼續讀取
正確呼叫方法:cin.get(name,20).get();
5. 空行或其他問題,用以下命令恢復輸入: cin.clear();
6. string 物件宣告為簡單變數,而不是陣列,程式可自動處理string 的大小。利用string,加入標頭檔案 #include
7. (1)char charr1[20]; char charr2[20]=“jagura” ;
charr1=charr2; //此句陣列賦值語句不合法
strcpy(charr1,charr2); //將charr2複製到charr1
strcat (charr1,charr2); //將charr2附加到charr1末尾,
int len=strlen(charr1); //確定字串中字元數 strlen()是函式
(2)string str1; string str2=“pather”; str1=str2; //最後一句合法
string str3; str3=str1+str2; str2+=str1; //合法
int len=str1.size();//確定字串中字元數 str1是一個string類 的物件,size()是string類的一個方法。
6. char charr[20]; cout<
string str; cout<
7. 將下一行輸入讀取到陣列中的程式碼: cin.getline(charr1,20); //這句表明cin是istream類的物件,getline()是istream類的方法
將下一行輸入讀取到string物件中的程式碼:getline(cin.str); //這句表明getline()不是類方法,在istrea類中有處理double,int
//等其他基本型別的類方法,但沒有處理string物件的類方法
cin>>str; //合法,應用了istream類的一個成員函式cin>>x
10. 結構宣告初始化:#include
struct inflatable{ char name[20], float volume, double price};
struct inflatable{ std::string name, float volume, double price}; //結構可以將string類作為成員,但要指明訪問的名稱空間
inflatable duck={“Daphe”, 0.12, 9.98};
inflatable Bobu; Bobu=duck; //結構賦值是有效的
struct peak{ int number, char car[20]} Ala, bay; // Ala, bay是結構peak的兩個結構變數。
初始化結構陣列: inflatable guest [2]={ {“Daphe”, 0.12, 9.98}, {“Bobu”, 0.34, 6.34} };
11. 共用體:可以儲存不同資料型別,但具體某一時刻只能儲存一種型別。
12. 列舉: enum spectrum { red, orange, yellow, green, blue, violet, indigo, ultraviolet }; //符號常量,對應的整數值為0~7
spectrum band; //band只能從列舉spectrum定義的8個常量裡選擇值
設定列舉量的值:指定的值必須為整數
enum bits{,two=2, four=4, eight=8 };
enum bitstep{ first, second=100, third }; //first預設為0,後面未初始化的列舉量比前面大1,third =101
enum {zero, null=0, one, nuero=1}; //可以建立多個相同值的列舉量
列舉的取值範圍: bits myflag; myflag=bits(126); //合法,上限為最大值的2的冪-1,2^8-1=127
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30239065/viewspace-2714813/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 我的隨行筆記11 C++ Primer Plus筆記C++
- 我的隨行筆記7 C++ Primer Plus筆記C++
- 我的隨行筆記10 C++ Primer Plus筆記C++
- 我的隨行筆記9 C++ Primer Plus筆記C++
- 我的隨行筆記8 C++ Primer Plus筆記C++
- 我的隨行筆記6 C++ Primer Plus筆記C++
- 我的隨行筆記5 C++ Primer Plus筆記C++
- 我的隨行筆記4 C++ Primer Plus筆記C++
- 我的隨行筆記3 C++ Primer Plus 3--指標筆記C++指標
- C++ Primer Plus隨記1C++
- C++ Primer Plus 隨記(第八章)C++
- C++ primer Plus學習筆記(第二章)C++筆記
- 《C++ Primer Plus》15.1 友元 學習筆記C++筆記
- C++ Primer筆記C++筆記
- C++ primer 筆記C++筆記
- 《C++ Primer Plus》16.1 string類 學習筆記C++筆記
- C++ Primer Plus第6版18個重點筆記C++筆記
- 【C++ Primer Plus】學習筆記--第10章 物件和類C++筆記物件
- C++ Primer Plus(四)C++
- C++ Primer Plus(三)C++
- C++ Primer Plus(一)C++
- 《C++ Primer》筆記-#include,#ifndefC++筆記
- C++ Primer Plus 第四章 複合型別 學習筆記C++型別筆記
- c++ primer 第二章閱讀筆記C++筆記
- c++筆記2C++筆記
- element-plus隨筆
- 《C++ Primer》學習筆記(六):C++模組設計——函式C++筆記函式
- 《C++ Primer》學習筆記(八):標準 IO 庫C++筆記
- C++ Primer 讀書筆記 - 第一章C++筆記
- 黑馬筆記--C++基礎篇--隨筆筆記C++
- 隨筆 sqlplus / as sysdbaSQL
- 《C++ Primer》讀書筆記(第一章 開始)C++筆記
- C++ Primer 5th筆記(5)chapter5 語句C++筆記APT
- 隨筆2
- C++ Primer 第二章 學習筆記及習題答案C++筆記
- 隨筆記筆記
- C++ Primer!C++的“倚天劍”C++
- 筆記:《C++ Primer 中文版(第5版)》 第1章 開始筆記C++