cin使用注意幾點 持續更新

2021-09-25 21:23:24 字數 1052 閱讀 9840

cin使用注意幾點:

1. cin可以忽略有效輸入之前的分隔符(空格、製表符\t、換行符\n)

舉例說明:

char ch = 『a』;

std::cin >> ch ;

std::cout << ch << '\n';

當從鍵盤 輸入 [enter] [enter]    [enter]z  即 輸入 回車、空格、回車、製表符\t、回車、字元z

這些分隔符也會儲存在輸入緩衝區中,回車鍵以 換行字元 『\n』 儲存,空格鍵 以 空格字元 『 』 儲存,tab鍵 以 製表符 『\t』 儲存

cin從輸入緩衝區讀取字元時,此時輸入緩衝區中儲存的分別是 換行符(『\n』)、空格(' ')、換行符(『\n』)、製表符('\t')、

換行符(『\n』)、字元z

讀取過程: cin在讀取輸入緩衝區時,第乙個遇到 換行符,cin 忽略並刪除 緩衝區中的第乙個換行符;然後繼續讀取第二個

字元,此時字元為空格字元,cin 也忽略並刪除緩衝區中的第二個字元(空格字元);繼續讀取第三個字元(換行符),cin

忽略並刪除 輸入緩衝區中的換行符;繼續讀取第4個字元(製表符),cin 忽略並刪除 製表符;繼續讀取第5個字元(換行符)

,忽略並刪除 換行符;繼續讀取第6個字元(字元z),將字元z存入字元變數ch中。

輸出:cin可以忽略有效輸入 z 之前的那些分隔符,最終 ch 的值為z,程式最終輸出 z

理解重點:

1. cin讀取過程中, 若緩衝區中的第乙個字元為分隔符,則可以忽略並刪除 輸入緩衝區中的 分隔符(空字元、換行符、製表              符);

2. 若緩衝區為空,cin會阻塞等待資料到來;

3. 若從鍵盤輸入乙個字串 hello ,只有按下回車後,字串才會被送入輸入緩衝區,此時,輸入緩衝區中 實際上有6個字              符,而不是5個字元,最後乙個回車會轉化為 換行符(『\n』)儲存在輸入緩衝區中;

注意:cin 只是忽略 分隔符,但實際讀取輸入緩衝區中是存在分隔符的。

2. cin>> 連續輸入

寫給自己的幾點建議持續更新

1 通常在遍歷乙個iterator的時候不建議修改集合本身。2 hashtable上下文中同步是什麼意思?同步意味著在乙個時間點只能有乙個執行緒可以修改雜湊表,任何執行緒在執行hashtable的更新操作前需要獲取物件鎖,其他執行緒等待鎖的釋放。3 select from v locked obje...

git使用(持續更新)

做專案時如果不進行版本管理,經常會遇到 修改了,過段時間卻找不到修改的地方。怎麼辦,開始用git來進行管理。在本機上安裝好git之後,建立本地的repository還是比較容易的,在專案所在目錄下,git bash中敲入git init,這樣就初始化了git。具體的一些指令說明如下 1 本地提交 g...

索引使用(持續更新)

不是每個欄位都是可以加索引的,比如文字太長的,mysql innodb最大長度是767位元組,不支援全文索引。myisam才支援全文索引 經常使用explain檢視sql執行計畫 單錶查詢 explain select from test user where user name 哈哈2017 02...