1.string類
2.智慧型指標模板
auto_ptrfilms[5] = ;
auto_ptrpwin;
pwin = films[2]; //轉讓所有權給pwin
*films[2]; // invalid, 程式崩潰,若使用unique_ptr則編譯報錯
3.stl標準模板庫--泛型程式設計
無序集合--unordered_map/unordered_set/unordered_multimap/unordered_multiset
// map 單詞計數
// 關鍵字的型別是string,值的型別是int。進行下標操作是,我們使用string作為下標,得到與此string相關
//聯的size_t型別的計數器。map是由pair物件組成的集合
mapword_count;
string word;
while(cin>> word)
++word_count[word];
// 可以通過word_count[...]訪問,也可以通過迭代器解除引用成為pair物件訪問
// map::iterator iter = word_count.begin();
// iter->first指向鍵值,iter->second指向值
// set的使用--忽略某些單詞
setexclude=;
string word;
while(cin>>word)
4.函式物件
#include plusadd;
double y = add(2.2,3.4);
transform(gr8.begin(),gr8.end(), m8.begin(), plus());//函式物件作為引數
//f2為自適應二元函式物件
binder1st(f2,val) f1; //f1(x)-->f2(val,x)
binder2st(f2,val) f1; //f1(x)-->f2(x,val)
5.輸入、輸出和檔案:詳見c++ primer
6.c++11新標準
char c2 = 273748273; //編譯錯誤,防止縮窄
#include double sum(std::initializeril);
int main() );
}double sum(std::initializeril)
return tot;
}
templatevoid ef(t t, u u)
templateauto eff(t t, u u) -> decltype(t*u)
using ittype = std::vector::iterator;
// 等同
typedef std::vector::iterator ittype;
//匿名函式
(double x)->double
//指定名稱
auto test = (double x)->double;
//傳值和傳引用
int value = 0;
auto a1 = (int x) ;
auto a2 = [value](int x) ;
auto a3 = [this](int x) ;
auto a4 = [&value](int x) ;
auto a5 = [=](int x) ;
auto a6 = [&](int x) ;
auto a7 = [=, &value](int x) ;
auto a8 = [&, value](int x) ;
c 程式設計基礎個人筆記(一)
1.climits標頭檔案定義了關於整型限制的資訊,比如int max為int的最大取值,char bit為位元組的位數。2.cin 和cout 3.寬字元型別wchar t,需要通過wcin和wcout處理,使用字首 l 指示寬字元常量和寬字串,字首 u 表示wchar16 t,字首 u 表示wc...
C 基礎個人筆記
float a 999999.711,b 123456.789,c 123.999 cout 位運算 賦值運算 逗號運算 if 表示式 語句 if 表示式 語句1 else 語句2 if 表示式1 語句1 else if 表示式2 語句2 else if 表示式3 語句3 else 語句n swit...
C 高階程式設計個人筆記搬運 六(泛型 方法)
不僅介面 類和結構可以是泛型的,方法也可以是泛型的。在泛型方法中,泛型型別用方法宣告來定義。泛型方法可以在泛型型別中定義。swap 方法把t定義為泛型型別,該型別用於兩個引數金額乙個變數temp void swap ref t x,ref t y 把泛型型別賦予方法的呼叫,就可以呼叫泛型方法 int...