原创 C++模擬鼠標鍵盤操作(轉)

API 或 MFC 視窗程序 裏 有 函數, 例如 API 函數 設位置: BOOL SetCursorPos( int x, int y); 參數是屏幕座標x,y 頭文件 Winuser.h 鏈接庫 #pragma c

原创 C++中大數運算簡單處理

這裏說的是在數據類型表示範圍內的處理,如果是非常大的數,可以封裝bignumber用字符串運算。 遇到問題是 unsigned long long int = 1024*1024*1024*4; 用一個超級大的類型在32位程序上,只要

原创 Parallel Quicksort using a stack of pending chunks to sort

代碼源自C++ Concurrency in Action Second Edition #include <list> template<typename T> struct sorter { struct chunk_to

原创 linux下拷貝動態庫遇到的問題

linux默認cp命令是有別名的,也就是說在執行cp命令的時候,實際上執行的是別名的命令。 通過alias命令可以查看當前系統的別名設置情況: 可以看到cp命令已經設置了別名。這樣即使使用cp -f也不會生效。 \cp會調用原生cp命令不

原创 VS2013 C++ Rest SDK 環境配置方法

簡介 C++ REST SDK 是 Microsoft 的一個開源跨平臺項目( 使用 MIT 開源協議 ), 其使用大量現代異步 C++ API 實現了一個基於 HTTP / HTTPS 協議的 服務端 / 客戶端 組件,使用該組件,可以

原创 類模板內的static成員變量

類模板內的static成員變量是在需要用的時候纔會去調用類外初始化,否則實例化子類後,直接調用b的成員函數等時,會報錯undefined reference #include <iostream> using namespace std

原创 C++ 委託學習筆記

class A{ public:            void Func(int){...} }; 要取得Func函數指針,void (A::*pFunc)(int)=&A::Func; ::*是一個特殊操作符,表示pFunc是

原创 【轉】C/C++中可變參數的詳細介紹(va_list,va_start,va_arg,va_end)

可變參數的函數原理其實很簡單,而va系列是以宏定義來定義的,實現跟堆棧相關.我們寫一個可變函數的C函數時,有利也有弊,所以在不必要的場合,我們無需用到可變參數。如果在C++裏,我們應該利用C++的多態性來實現可變參數的功能,儘量避免用C語

原创 linux x86_64 下編譯grpc總結

grpc庫的編譯需要依賴多個三方庫,官方建議通過./.gitmodules去獲取依賴庫,但我的linux環境是不能聯網的,必須離線安裝。 查看./.gitmodules文件,其實是去github把代碼拉取到gprc的thirdparty/

原创 通過遞歸打印組合

  void PrintNum(int nNum, std::vector<int>& vecNums); void PrintNumOut(int nNum) { std::vector<int> vecNums{ 0,0,0

原创 C++11 併發指南三(Lock 詳解)

文章轉自https://www.cnblogs.com/haippy/p/3346477.html 感謝大佬 侵刪   在 《C++11 併發指南三(std::mutex 詳解)》一文中我們主要介紹了 C++11 標準中的互斥量(Mute

原创 C++的future,promise,packaged_task

1. future與async配合使用 個人理解就是用future獲取該線程函數的返回值,並可以知道該線程函數何時執行完; #include <iostream> #include <string> #include <thread>

原创 “最令人頭痛的語法解析”(C++’s most vexing parse)

如果你傳遞了一個臨時變量,而不是一個命名的變量; C++編譯器會將其解析爲函數聲明,而不是類型對象的定義。 例如: std::thread my_thread(background_task()); 這裏相當與聲明瞭一個名爲my_th

原创 Effective C++ 條款25

25 namespace WidgetFunc { template <typename T> class Widgett { public: template <typename T

原创 linux下計算pod的cpu利用率與mem使用情況

一、計算CPU利用率(計算方式與top指令源碼方式相同) 1.計算宿主機的cpu核數 2. 從文件中讀取本身進程的一段時間使用情況,即隔一段時間分別獲取使用情況,通過這段時間的(使用時間)/(總時間),即可得到cpu利用率,代碼如下: