c++基礎五---標準庫型別(string ,vector)
string型別
支援長度可變的字串
因為歷史原因以及為了與C語言相容,字串字面值與標準庫string型別不是同一種類型。這一點很容易引起混亂。
s.empty () 如果s為空串,則返回ture
s.size()
s[n] 返回s中位置為n的字元
size()操作返回的是string::size_type型別的值。很多庫型別定義了一些配套型別,通過這些配套型別,庫型別的使用就能與機器無關。string::size_type定義與unsigned具有相同的含義,而且可以保證足夠大能夠儲存任意string物件的長度。所以不要把size的返回值賦給一個int變數。
當進行stirng和字串字面值混合連線操作時,+操作符的左右運算元必須至少有一個是string型別的。
雖然任何整形數值都可以作為索引,但索引的實際資料型別卻是unsigned型別string::size_type。
for (string::size_type ix = 0; ix != str.size(); ++ix)
{
cout << str[ix] <<endl;
str[ix] ='*';
}
cctype標頭檔案定義的函式,適用於string物件的字元(或其他恩和char值)
isalnum(c) 是字母或數字,則為true
isalpha(c) 是字母
isdigit(c) 是數字
tolower(c) 如果c是大寫字母,則返回其小寫字母形式,否則返回c
toupper(c)
...
...
vector型別
vector稱為容器,是一個類模板。
vector<int> ivec1
vector<int> ivec2(ivect1) //copy elements of ivec1 into ivec2;
vector物件(以及其他標準庫容器物件)的重要屬性就在於可以在執行時搞笑地新增元素。因為vector增長的效率高,在元素值已知的情況下,最好是動態地新增元素。
vector操作
v.empty() 如果v為空,則返回true
v.size() v中元素個數 返回相應vector類定義的size_type的值 vector<int>::size_type
v.push_back(t) 末尾增加一個值為 t 的元素
v[n] 返回v中位置為n的元素
for (vector<int>::size_type ix = 0; ix != 10; ++ix)
ivec.push_back(ix)
必須是已存在的元素才能用下標操作符進行索引。通過下標操作進行賦值時,不會新增任何元素。
相關推薦
c++基礎五---標準庫型別(string ,vector)
string型別 支援長度可變的字串 因為歷史原因以及為了與C語言相容,字串字面值與標準庫string型別不是同一種類型。這一點很容易引起混亂。 s.empty () 如果s為空串,則返回ture s.size() s[n] 返回s中位置為n的字元 size(
angularjs2 中幾種常用的型別(String,Number)等
let a:Number=1;//數值型別 let b:String = 'angularjs2';//字元型別 let c:boolean = true; //布林型別 let d:Number [
《隨筆十八》—— C++中的 “ 標準庫型別string ”
目錄 初始化 string 物件的方式 string 物件的操作 cin 和 getline 讀寫 string物件 string 的 size ()操作 和 string::size_type 型別 比較string物件
C++中的標準庫型別——string
string 標準庫型別string是一種可變長的字元序列。string定義在std名稱空間中。在使用string前,需要: #include<string> using std
C++ primer筆記 -標準庫型別
最重要的兩個標準庫型別:string和vector string 型別的輸入操作符: 1、讀取並忽略開頭所有的空白符 2、讀取字元直至再次遇到空白字元,讀取終止 string物件的基本操作: string s; s.empty() 如果為空返回true,不為空返回fals
談談兩種標準庫類型---string和vector
指針 word 叠代器類型 iss 組成 pty namespace 拷貝 col 兩種最重要的標準庫---string和vector string和vector是兩種最重要的標準庫類型,string表示可變長的字符序列,vector存放的是某種給定類型對象的可變長序列。
18.C#基礎之不安全程式碼(在整理當中)
前面有寫到過,核心C#語言沒有將指標引入它所支援的資料型別,從而與C和C++有著顯著的區別。作為代替,C#提供了各種引用型別,並能建立可由垃圾回收器管理的物件。這就使得C#比C或C++安全的多。 在核心C#語言中,乾脆就不可能有
Python 基礎 - 4 常用數值型別(int,float,bool)操作
Python 基礎 - 4 常用數值型別(int,float,bool)操作 Python 數值型別包括整型(integer),浮點型(floating point number)和複數(complex number),並且,布林型(b
使用 C++ bitset 操縱浮點數型別(float、double)
#include <bitset> bitset 類是將資料轉換為二進位制位(遵循 IEEE 754 的儲存和表示方法,關於 IEEE 754 更多更全的使用方法和原理請見 IEEE 754——計算機中浮點數的表示方法 )。 如下: #in
Linux下的c基礎程式設計——十進位制轉二進位制(遞迴法)
今天我們來用遞迴法寫一個十進位制轉二進位制的小程式。 首先大家要明白十進位制轉二進位制的演算法。 第一步先對2進行取餘。餘數就是二進位制的最後一位。 第二步對2進行整除所得的數再進行對2取餘 第三步用遞迴迴圈往復以上過程。 例如求5的二進位制。 5先對2取餘,餘1,最後一位
Python 標準庫 —— uuid(生成唯一 ID)
有時我們在百度貼吧,在一個網站,儲存網頁上的一些圖片時,圖片名有時會是一串很長的數字和字母組成的,但無一例外,影象之間不會出現重名。這個唯一的 id,一般通過 uuid 的方式獲得,uuid 根據的是從 1970年1月1日到現在經歷的秒數。 1.
Aras學習筆記 (12) C#程式碼讀取域使用者列表(轉,翻譯)
Get List of Active Directory Users in C# - 作者原文標題 Introduction This tip describes how to list Active Directory users. 介紹如何提取AD域中的使用者列表 Using
【 Verilog 】暫存器資料型別(reg)與線網資料型別(wire,tri)
暫存器資料型別 Verilog中規定,凡是在程式塊中被賦值的變數,都必須是暫存器型別的。(程式塊:例如always塊) 這裡未免還是會讓人產生疑惑?暫存器資料型別的變數最後一定會被綜合成暫存器嗎?
python3怎麼判斷一個變數的型別(isinstance,type)
兩個方法 一個通用 一個個別用不了的情況下(入list) 1 isinstance def add_key(self,keyname): self.keyname=keyname if isinstance(self.keyname,in
Easy Problem from Rujia Liu? (map,vector)
題目大意是:給你n個數(n<=10w,但是數值<=100w),現在要你回答m個查詢,對於每個查詢都是k和v,要求你回答原始資料中第k個v值出現的原始下標,如果不存在輸出0。使用map+vector,為每個數和它所出現的位置建立
C++primer筆記-第3章 字串、變數和陣列(標準庫型別string)
標準庫string、vector都是對內建陣列型別的抽象,string支援變長的字串,vector表示可變長的集合。迭代器是string和vector的配套型別,常用於訪問string或者vector中的元素。 string作為標準庫的一部分,定義在名稱空間s
標準庫型別基礎(1)— string
0、都已包含響應庫函式並已進行using宣告。 1、string初始化 string s1; //預設建構函式,s1為空字串 string s2(s1); //將s2初始化為s1的一個副本 stri
C++基礎程式設計----2.2標準庫型別string
標準庫型別string 標準庫型別string是一個可變長的字元序列。 使用string型別必須包含string標頭檔案,stri
C++標準庫型別-string
1:首先區分開C和C++中的string 解釋:C語言中的並沒有string型別(C語言連類都沒,當然沒有string),C中的有個string.h標頭檔案,這個標頭檔案只是包含對字串的處理,比如說strcat等函式。而C++中的string是一個標準庫型別,表示可變長的字元序列,而由於是標準庫
(12)標準庫型別string
標準庫型別string表示可變長的字元序列,使用string型別必須首先包含string標頭檔案。作為標準庫的一部分,string定義在名稱空間std中。如: #include<string> using std::string; 定義和初始化string物件