C++自修入門實境秀、C++ Primer 5版研讀秀 13/ ~頁86 Reading and Writing string s-20190...





1:56:40 頁39 字元與字元字串字面值

頁81 第3章 0:44 6:00迭代器 iterator

8:20 字元 字符

13:00原來 string 、vector 都是:

abstractions of the more primitive built-in array type.

程式庫所定義的string和vector型別是更原始的內建陣列型別之抽象層(abstractions)。31:00

20:30 nature機能、性質、性能

30:40 array較低階,而string vector則是較高階的抽象層 32:10低階語言就是比較不靈活。科學語言即類似低階語言,而文學語言即類似高階語言。

39:40另一種using簡化引用的方法 using宣告、using declaration

頁82 19:00

「字元」character 就是包括「字母+符號」所以「字元」 =「字符」

3.1. Namespace using Declarations

34:50

A Separate using Declaration Is Required for Each Name

51:00

每個名稱都需要ー個分別的using宣告 52:40

每個名稱都需要一個自己的using declaration

57:28 best practices 最佳練習、最好習慣1:1:20

頁83

Headers Should Not Include using Declarations

1:1:55

1:5:45

#include其實就是把標頭檔的內容複製到本身程式碼所在的部分

1:10:00

From this point on, our examples will assume that using declarations have been made for the names we use from the standard library. Thus, we will refer to cin , not std::cin , in the text and in code examples.

point 七星大法 空間→時間



練習3.1

1:17:40

頁84

3.2. Library string Type

字串(string)是一個可變長度的字元序列

1:31:00一個類別class對它的物件對象object的初始化可以有多重的定義

1:33:20表3.1 1:50:00

1:39:00

#include <iostream>

#include<string>

//using namespace std;

using std::string; using std::cout; using std::endl;



int main() {

string s4(6,'a');

cout << s4 << endl;

return 0;

}



頁85

1:44:30 2:41:50

表3.1 可參考頁43 串列初始化(list initialization)

2:42:17可變長度字串之義

2:42:28 字元char型別值加在單引號中,且不能超出4個字母長度。

We can default initialize a string (§ 2.2.1 , p. 44 ), which creates an empty string ; that is, a string with no characters. When

原來空字串就是沒有含任何字元的字串

2:2:05

Direct and Copy Forms of Initialization

初始化的直接和拷貝形式

2:1:30 2:6:00 是謂初始化有二種基本形式,一種是直接的,一種是複製的

用「=」這個符號的,就是複製型的初始化(to copy initialize)

省略了「=」,就是direct initialization .直接式的了2:9:10

可見,沒有「=」,就是「直接」(direct)的意思所在。⑧找對主詞 直接,什麼東西直接啊?就是不要透過「=」這個白手套的直接嚕

2:16:10在Chrome瀏覽器中自訂快捷鍵2:30:50 複製頁籤分頁 duplicate tab

2:31:50關閉其他分頁 close other tabs

2:34:45 設定好後要重新整理reload、refresh或重啟後才生效2:39:28

2:37:40在115瀏覽器中設定鍵盤快捷鍵 2:37:50須啟用開發者模式

頁85

又可以藉由間接的方式來用複製型的初始伥

string s8 = string (10, 'c' ) ; // copy initialization,s8 是 cccccccccc



string temp (10, 'c' ) ; // temp 是 cccccccccc

string s8 = temp; // 拷貝 temp 到s8

2:49:40 offers no compensating advantage over the way we initialized s7.

2:50:40 成員函式(在類別中的函式。成員,類別內的成員)

2:55:10 英文版原書C++ Primer 5th edition

3.2.2. Operations on string s

Reading and Writing string s



2:59:05 getline(is,s) 常見的string運算

頁86 3:2:20 3:6:30

表3.2

os<< s 將s寫到輸出資料流os。回傳os。

is >> s 從is讀取以空格分隔的字串到s。回傳is。

getline(is, s) 從is讀取一行輸入到s。回傳is。

s.empty () 如果s是空的就回傳true,否則回傳false。 判斷是否為空字串

s.size () 回傳s中的字元數。2:59:50

s[n] 回傳s中位在位置n的char之參考,位置從0開始。3:10:20這個「參考」不是參考型別(reference &)的參考,而是一般用法。此式傳回值一樣是char型別,不是參考型別(即對char型別的參考)3:14:15

Retruns a reference to the char at position n in s;positions start at0.

s1 + s2 回傳s1和s2串接(concatenation)所成的字串。3:4:25

可見「s」string;「o」out;「i」in;「+」即連字串。

留言

熱門文章