C 學習筆記 標準庫型別vector(1)

2021-07-22 05:28:08 字數 1285 閱讀 8762

一、vector初始化的一些例項

1、vectorv1;                                  //v1是乙個空vector,元素為int型別,執行預設初始化

2、vectorv2(10);                          //v2有10個元素,每個值都是0

3、vectorv3(10, 42);                   //v3有10個值,每個值初始化為42

4、vectorv4;                      // v4有1個值,為10

5、vectorv5;               //v5有兩個值,為10,42

6、vectorv6;                 //v6有10個值,型別為string的空字元,(強制轉換為容量為10的string的vector)

7、vectorv7;      //v7有10個值,每個初始化為「hi」

二、將string型別的一組詞(一句話)的所有字元都轉換為大寫

源**如下:

#include

#include

#include

using namespace std;

int main()

}cout << "the output result is :" << endl;

for (auto &mem : vstr)

////for (auto &i : vstr)

// i = toupper(i);//不存在string到int的轉換函式,這樣是不對的

return 0;

三、push_back與利用引用型別

vec.push_back(),這個函式的意義是在vec的尾後新增元素,所以這個函式無法實現將容器中原初始化為0的元素修改為所期望的值。如果想達到修改的目的,需要將vector中的元素定義乙個引用型別的變數,然後再通過該變數的賦值來實現vector內元素的修改。

四、begin、end與front、back     

首先,begin和end操作是生成指向容器中第乙個元素和尾元素之後位置的迭代器。而front和back是分別返回容器中首元素和尾元素的引用。若想通過迭代器獲取首元素及尾元素的引用,則需要解引用。

auto val = *vec.begin();

auto last = vec.end();

auto val2 = *(--last);        //因為vec.end()返回的是尾元素之後位置,所以先拷貝至last,再通過自減一,再解引用,賦值給val2才得到尾元素的引用。



C 標準庫string型別學習筆記

string 型別支援長度可變的字串,需要包含標頭檔案 include 1 string 物件的定義和初始化 string 支援好幾種初始化方式 初始化方式 說明 string s1 預設建構函式,s1是空串 string s2 s1 將s2 初始化為 s1的乙個副本 string s3 value...

C Primer 學習筆記(二) 標準庫型別

一 命名空間的using指示與using宣告 1 using宣告 1 乙個using宣告一次只引入乙個命名空間成員。2 using宣告的作用域為 從using宣告點開始,直到包含該using宣告的作用域的末尾,名字都是可見的。類作用域中的using宣告侷限於被定義類的基類中定義的名字。using s...

c primer學習筆記2 標準庫型別

1 string.size 的返回值型別為string size type,而不是int,不要把size的返回值賦給乙個int變數,可能溢位 實際上很多庫型別size操作的返回值型別都是size type型別,這是一種類似unsigned int的型別 同樣在進行索引時索引值也是size type型...