1. __thread關鍵字
執行緒區域性儲存(tls)是一種機制,通過這一機制分配的變數,每個當前執行緒有乙個該變數的例項.
__thread可用於全域性的變數,檔案區域性靜態變數,函式靜態變數或乙個類中的靜態資料成員。不能用於塊作用域,自動或非靜態資料成員。
2. __builtin_expect函式
暫時歸屬到這裡,後期再看能不能分開整理。
該函式涉及到編譯器優化,該函式的功能就是將大概率發生的指令先放於後面,這樣使得跳轉的時候可以大概率往下走而不需要跳轉。
// 大概率會發生的事情,1不是表示一定發生,而是大概率發生
#define likely(x) __builtin_expect(x, 1)
// 小概率會發生的事情,0不表示一定不發生,而是小概率發生
#define unlikely(x) __builtin_expect(x, 0)
1. strchr函式
#include
// 函式的功能為在str中查詢字元c第一次出現的位置,並返回該位置的指標。
// 返回的指標和str是共用同一塊記憶體的,也就是修改返回值也會修改引數。
char
*strchr
(char
* str,
char c)
;
2. strrchr函式
#include
// 函式的功能為在str中查詢字元c最後一次出現的位置,並返回該位置的指標。
// 返回的指標和str是共用同一塊記憶體的,也就是修改返回值也會修改引數。
char
*strrchr
(char
* str,
char c)
;
3. snprintf函式
#include
intsnprintf
(char
*str, size_t size,
const
char
*format,..
.)
引數說明:
str:表示需要輸入的字串首指標位置
size:制定輸入的最大長度,低於全部輸入,多餘只輸入前面一段
const char* format: 輸入格式
4. strerror函式和strerror_r函式
#include
// strerror通過傳入的errnum返回錯誤資訊的字串
// 不是執行緒安全的
char
*strerror
(int errnum)
;// strerror_r將傳入的errnum返回的錯誤資訊的字串寫入buf中。
// 是執行緒安全的
intstrerror_r
(int errnum,
char
*buf, size_t n)
;
5. 強制轉型函式
static_cast
(u)// 用於基本型別的強制轉型
const_cast
(u)// 用於常量型的轉型
reinterpret_cast
(u)// 用於不同型別的轉型
dynamic_cast
(u)// 用於有繼承關係的轉型,該轉型代價比較大
6. nanosleep函式
#include
// 引數說明:
// rqtp: 指定sleep的時間
// rmtp: 沒有超時返回的剩餘時間
// 函式功能:
// 暫停某個程序直到你規定的時間後恢復
// 返回:
// 成功,也就是等完了全部的時間,返回0,否則,返回-1,並設定錯誤變數errno
intnanosleep
(const
struct timespec *rqtp,
struct timespec *rmtp)
;
參考附錄:
this和static關鍵字總結
this 關鍵字 1 this 表示的是當前本身。更準確的說,this 代表當前物件的乙個引用。2 區分類成員屬性和方法的形參,呼叫當前物件的其他方法。任意位置 3 使用 this 來呼叫其他構造方法。必須是第一條語句 4 this 不能用於 static 方法。示例 public class te...
this關鍵字和super關鍵字
this關鍵字和super關鍵字都必須放在構造方法的第一行,所有兩個關鍵字不能同時存在,任選其一即可,只需保證子類的所有構造方法呼叫父類的構造方法即可 this關鍵字的應用 this關鍵字用於區分區域性變數和成員變數的同名問題 有this關鍵字的是成員變數,或者是誰呼叫我,訪問的就是誰 this關鍵...
static關鍵字和final關鍵字
static記住幾點 1.優先順序高,載入優先物件例項化 2.在記憶體中只分配一次 3.屬於類本身,所有例項共享,一處變,處處變 4.1 static不能訪問沒有static修飾的方法 因為不認識,物件例項後才能在外部使用方法 2 可以訪問static塊 3 未加static的方法可以訪問stati...