一、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型...