原创 C++ 筆記 define的使用

最近看到了一段很有意思的代碼: const char* LogLevel:: Tostring(LogLevel::Level level) { switch(level) { #define XX(name) \ case Log

原创 C++ 筆記 std::function bind 和 lambda表達式

lambda表達式  一個lambda表達式表示一個可調用的代碼單元,我們可以將其理解爲一個未命名的內聯函數。與任何函數相似,一個lambda具有一個返回類型、一個參數列表、一個函數體。但與函數不同,lambda可以定義在函數內部,一個l

原创 C++筆記 多線程 區域鎖的實現

概述 確切的說,區域鎖(Scoped locking)不是一種鎖的類型,而是一種鎖的使用模式(pattern)。這個名詞是Douglas C. Schmidt於1998年在其論文Scoped Locking提出,並在ACE框架裏面使用。但

原创 C語言筆記 pthread_create pthread_join 和 pthread_detach

頭文件 #include<pthread.h> pthread_create int pthread_create(pthread_t *tidp, const pthread_attr_t *attr, (void*)(*start

原创 C語言筆記 互斥量與讀寫鎖

頭文件 #include <pthread.h> 互斥量初始化與銷燬 int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t

原创 C++ 筆記 boost::lexical_cast數據類型轉換器

lexical_cast是boost庫中提供的數據類型轉換器,用法如下: #include <boost/lexical_cast.hpp> string s = "123"; int a = lexical_ca

原创 鳥哥的Linux私房菜 學習筆記 第13章

shell script 第一行 #!bin/bash 聲明這個 script 使用的 shell 名稱 其他行的 # 表示註釋 數值運算 declare -i aa aa=5+6 let bb=1+8 cc=$((5+8)) echo

原创 從零開始開發C++高性能服務器框架 學習筆記(一)日誌系統

本文是我對B站教學視頻 [C++高級教程]從零開始開發服務器框架(sylar) 的學習筆記。 這個視頻up講得非常,我從中學到了很多。以下是他的視頻鏈接: https://www.bilibili.com/video/av53602631

原创 C++ 筆記 namespace 命名空間

1.全局作用域中定義的名字也就是定義在全局命名空間中,全局命名空間以隱式的方式聲明,並且在所有程序中都存在。 int i = 0; ::i; 2.嵌套的命名空間中,內層命名空間聲明的名字將隱藏外層命名空間聲明的同名成員。 外層命名空間中

原创 C++ 筆記 const關鍵字修飾函數返回值

const 位於返回類型前,表明返回對象爲常量,不可改變。 如果修飾指向常量的指針。 1 const char * const helpFun() 2 { 3 char * p =new char[3]; 4 p

原创 C++ 筆記 靜態局部變量、類的靜態成員和靜態方法

用static修飾的成員變量在對象中是不佔內存的,因爲他不是跟對象一起在堆或者棧中生成,用static修飾的變量在靜態存儲區生成的,所以用static修飾一方面的好處是可以節省對象的內存空間。 類中的static數據成員需要在類之外進行初

原创 C語言筆記 使用BackTrace查看調用堆棧

函數原型 int backtrace(void **buffer, int size); 返回調用堆棧 buffer :提供一個指針的數組 size :指定緩衝區的個數,即設置的調用深度 int : 返回實際返回的調用深度 每個地址指針

原创 C++ 筆記 可變參數函數

在C++中有時需要使用參數數目未知的函數,如輸出日誌等場景。 這時需要用到頭文件 #include<stdarg.h> 需要用到以下類型和方法 va_list typedef char * va_list; //可變參數列表 va_s

原创 C語言筆記 malloc 和 free

頭文件 #include <stdlib.h> 函數原型 void *malloc(long NumBytes); void free(void *FirstByte); malloc() 在堆區分配一塊指定大小的內存空間,用來存放數

原创 C++ 筆記 yaml-cpp 的使用

yaml-cpp 是一個開源庫,地址爲 https://github.com/jbeder/yaml-cpp 具體安裝配置可參考以下博文: https://www.cnblogs.com/huodaozhe/p/12026327.html