目錄
c++11新特性
template表示式內的空格
nullptr_t
constexpr
variadic template(可變長模板)
alias template(帶別名的模板)
lambda
持續更新ing
vector> vec; // ok in each c++ version
vector> vec; // ok since c++11
c++11允許使用nullptr取代0或null,用來表示乙個指標pointer,指向no value。它是乙個新關鍵字 ,擁有型別為std::nullptr
_t, 它被自動轉換為各種pointer,但不會轉換為任何整數。
void f(int);
void f(void*);
f(0); // f(int)
f(null); // f(int)
f(nullptr); // f(void*)
constexpr可用來讓表示式核定於編譯期
constexpr int square(int x)
double a[square(9)]; // ok since c++11: a has 81 elements
自c++11起,template可擁有「長度不定的引數」,但必須提供乙個non-template過載才能結束遞迴動作。
void print()
template void print(const t& firstarg, const types& ... args)
// example
print(7.5, "hello", std::bitset<16>(377), 42);
// output
7.5hello
0000000101111001
42
template using vec = std::vector>; // standard vector using own allocator
veccoo;
// 等價於
std::vector> coll;
語法
[函式物件引數] (操作符過載函式引數) mutable 或 exception 宣告 -> 返回值型別
捕獲
型別lambda的型別是不具名function object,可通過以下方式獲取型別
#include#includestd::functionreturnlambda ();}
int main()
《JUnit實戰(第2版)》讀書筆記
主要了解junit,如何安裝 執行junit 要點static public void assertequels double expected,double actual,double delta 主要了解junit的機制和生命週期 要點 test注釋 public的 不帶任何引數 返回void ...
讀書筆記之 C 大學教程(第2版)
這是 c 大學教程 第2版的一些記錄。第二版顯得比較舊,具體時間我沒有查到,從其中的內容看來應該是c 標準推出之前。1.c 中獲取隨機數 srand函式只要在程式中呼叫一次即可得到所需要的隨機化結果,多次呼叫是多餘的,會降低程式效能。由rand函式直接產生的值總是取值為 0常見錯誤 用srand函式...
讀書筆記之 C 標準程式庫 2
第5章 stl標準模板庫 5.1 stl中的各個元件 stl的基本觀念就是將資料和操作分離。而這種將資料和演算法分開對待的考慮和物件導向的思想是矛盾的。5.2 容器 序列容器sequence containers和關聯式容器assocative containers 嚴格來說,c 標準並未定義某一種...