C 標準庫速成

2021-10-09 09:29:31 字數 1398 閱讀 1121

#pragma once

//上下等價

#ifndef bitflip_h

#define bitflip_h

//the content of bitflip_h header file

#endif // !bitflip

1.切勿在標頭檔案中使用using指令或者using 宣告 否則新增你的標頭檔案的每個人都要用這個空間。

2.命名空間巢狀在17標準中得到了極大的簡化

3.宣告變數的時候不指定值,變數的值取決於這塊記憶體的值

4.17中允許if中加入初始化器

if (int a = 0;a>0)
5.

std::arrayarr = ;//固定大小 #include11標準

int size=std::size(arr);

6.c++程式中記憶體分為堆和棧,函式的執行一般在棧上進行,用完釋放。明確的分配記憶體一般是放在了堆上。(在函式中宣告的也要釋放掉)

int* a;

*a = 0;

delete a;//delete a---刪除陣列

a = nullptr; 刪除指標後最好進行置空操作防止再次的使用

7.

//make_unique在超過作用域或者被刪除時就會自動釋放記憶體資源

auto an=make_unique();

//共享指標,每次指定make_shared時都會遞增乙個引用計數,表示資料又多了乙個擁有者,當超過作用域時,就遞減引用計數,直到為0時,釋放資源

auto an1 = make_shared();

8.const多種用法(如果需要給函式傳遞物件,最好按const引用傳遞他,這樣可以防止多餘的複製。如果需要改變物件,則需要傳遞非const引用)

//保護引數

void get(const string* a)

const int a = 1;//保證**不會改變該變數的值

//變數x和引用變數re指向同乙個值,改變乙個,則都會變

int x = 1;

int& re = x;

9.auto 去除了const限定和引用 因為auto建立乙個副本 。除非用auto &

//第乙個const函式返回值(即指標)的內容不能被修改,該返回值只能被賦給加const修飾的同型別指標

//第二個 任何不會修改資料成員的函式都應該宣告為const型別。如果在編寫const成員函式時,不慎修改了資料成員,或者呼叫了其它非const成員函式,編譯器將指出錯誤,這無疑會提高程式的健壯性

const int& get() const

C 標準庫和C 標準模版庫

c 標準庫很大,在現在的情況下,c 標準庫確實越來越好,因為大的庫會包含大量的功能.標準庫中的功能越多,開發自己的應用程式時能借助的功能就越多,c 庫並非提供一切 很明顯的是沒有提供開發和圖形使用者介面的支援 但確實提供了很多.標準c 庫中主要有以下主要元件 標準c庫.i 0流技術.string.容...

c標準庫 signal 庫

c標準庫 signal 庫 的基本用法 雜談 最近在看 c標準庫 對於裡面的函式的用法和演算法有了乙個基本的理解。有一些庫很少用到,例如 庫,庫。每每看到 這些章節,我都潛意識的 認為 這些章節 不學也行,無所謂,所以看起書來 自然 比較浮躁。今天特意來網上 檢視資料來 學習 這兩個庫的用法。浮躁 ...

C 命名空間,標準庫,標準模板庫

全域性空間與命名空間 我們在使用c 時,匯入標頭檔案一般有兩種形式,帶 h 和不帶 h 一般來說,不帶 h 的是c 的標準標頭檔案,帶的是c語言的,h 裡面定義的所有類以及物件都是在全域性空間裡,不帶的是在命名空間std裡面。c 要相容c的標準庫,而c的標準庫里碰巧也已經有乙個名字叫做 string...