c++定義的基本型別基礎上兩種重要的標準庫型別:string、vector。
之前程式中所使用的std::cin,通過使用::操作符(作用域操作符)來說明右運算元可以在左運算元的命名空間中找到。
可以通過using宣告來不使用字首而使用命名空間中的名字。
using std::cin;
warning:1.每個名字都需要使用一次using宣告
2.可以把經常用的using宣告放在標頭檔案中,但是沒必要
#includeusing std::string;
後文均假設程式必須的#include和using宣告已經給出。
常用建構函式
string s1;
預設建構函式,s1為空串
string s2(s1);
將s2初始化為s1的乙個副本
string s3("value");
將s3初始化為乙個字串字面值副本
string s4(n, 'c');
將s4初始化為字元'c'的n個副本
string型別的輸入操作符:1.讀取並忽略開頭所有的空白字元(如空格,換行符,製表符)
2.讀取字元直到再次遇到空白符,讀取終止。
int main()
/*input
hello world*/
/*output
hello*/
int main()
函式getline接受兩個引數:乙個輸入流物件和乙個string物件。
warning:這個一行不是在終端中看到的一行(那個黑框是可以調整大小的),這個一行的定義主要由換行符來決定。
int main()
s.empty()
如果s為空串則返回true,否則返回false
s.size()
返回s中字元的個數
int main()
/* output */
/*the size of the expense of spirit
is 22 characters, including the newline
*/
許多類型別都定義了一些配套型別(companion type),通過這些配套型別,可以做到庫使用與機器無關(machine-independent)。
s.size()返回的是string::size_type型別,所以不要把size的返回值賦給乙個int變數。
標頭檔案:cctype
cctype定義函式:略
#includeusing std::vector;
vector是同一型別的物件的集合,每個物件都有乙個對應的整數索引值。
vectorv1;
vector儲存型別為t的物件,預設建構函式v1為空。
vectorv2(v1);
v2是v1的乙個副本。
vectorv3(n,i);
v3是含有n個值為i的元素。
vectorv4(n);
v4是含有值初始化的元素的n個副本。
v.empty()
如果v為空則返回true,否則返回false
v.size()
返回v中的元素個數
v.push_back(t)
在v的末尾增加乙個值為t 的元素
與string類相似,vector中size函式返回的型別為vector::size_type。
int main()
/* input */
/*c++ is so awesome!
^z*/
/* output */
/*c++
isso
awesome!
*/
warning:下標操作只能提取已經確實存在的元素。
除了使用下標來訪問容器中的元素,還提供迭代器(iterator)方法。
標準庫為每種標準容器(include vector)都提供了一種迭代器型別。而所有的標準庫容器都定義了相應的迭代器型別,而只有少數的容器支援下標操作。
故迭代器對所有容器均適用(amazing),下標操作卻不是。
每個標準庫都定義了乙個名為iterator的成員。如vector:
vector::iterator iter;
1.容器定義了一對名為begin和end的函式,用於返回迭代器。
若容器中有元素,begin返回的迭代器指向第乙個元素。
由end操作返回的迭代器指向vector的末端元素的下乙個,即指向乙個不存在的元素。
若容器為空,begin和end返回的迭代器相同。
2.迭代器型別可以通過解引用操作符(*操作符)來訪問迭代器所指向的元素。
int main()
/*c++ is so awesome!
^zc++
isso
awesome!
*/
顧名思義,只能讀取元素而不能改變其值。
int main()
第3章 標準庫型別 3
3.3 標準庫vector型別 vector是同一種型別的物件的集合,每個物件都有乙個對應的資料索引值。和string物件一樣,標準庫將負責管理與儲存元素相關的記憶體。我們把vector稱作容器,是因為它可以包含其他物件。乙個容器中的所有物件都必須是同一種型別的。vector是乙個類模板 class...
Python3標準庫 statistics統計計算
statistics模組實現了很多常用的統計公式,允許使用python的各種數值型別 int float decimal和fraction 來完成高效計算。共支援3種形式的平均值 均值 mean 中值或中位數 median 以及眾數 mode 可以用mean 計算算術平均值。from statist...
c primer 3 標準庫型別
3.1 命名空間的using宣告 using宣告是對某個命名空間做引入。主要作用是簡化 編寫。比如用cout的三種方式 using namespace std using std cout std cout 3.2 標準庫string型別 定義和初始化 include using std strin...