C 標準庫(第2版)讀書筆記

2021-10-14 04:08:09 字數 1432 閱讀 1902

目錄

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 標準並未定義某一種...