原创 C++基礎夯實

  std::copy std::search std::back_inserter std::equal memcpy 演示如何使用 std::copy、 std::search、 std::back_inserter  std::e

原创 C++單例類和線程的一個結合

一個C++的單例類,類裏面定義了一個線程對象,線程對象會定時去計算一個時間,並返回這個計算出來的時間。   應用場景: 比如,有些比較消耗時間的操作,就可以放在線程裏面定時計算,我們在外部定時讀取。 這樣就可以避免主線程被阻塞。   #i

原创 std::make_shard 和 new 的比較

std::make_shared 和 new 都用於動態分配內存並返回指向該內存的指針,但它們之間有一些重要的區別。下面詳細解釋它們之間的差異: 內存分配方式: std::make_shared:該函數是一個模板函數,會在內存中分配一

原创 計算linux磁盤空間,cpu,內存的例子

注意:   cpu使用率計算的時候,需要sleep,這會造成當前計算線程的阻塞,因此 這裏在單例裏面單獨開了一個線程來處理計算邏輯;   另外一個線程,是模擬外部 的多線程訪問。    //singleton_template.h #p

原创 ARM架構和x86架構在多個方面存在顯著的區別

ARM架構和x86架構在多個方面存在顯著的區別。 首先,從應用領域來看,ARM架構主要用於嵌入式系統、移動設備和低功耗應用等領域。它特別適用於那些對功耗有嚴格要求的設備,如智能手機和平板電腦。而x86架構則是PC領域的主流架構,廣泛應用於個

原创 linux物理內存,虛擬內存的獲取

使用文件流的方式,解析   cat /proc/meminfo 文件裏面的數據   #include <iostream> #include <fstream> #include <sstream> #include <str

原创 計算linux磁盤空間

  可以準確獲取某個掛載點的硬盤空間,已使用空間。 現在問題就出在 掛載點的判斷 和類型過濾上面。   #include <iostream> #include <fstream> #include <sstream> #in

原创 獲取主板溫度

  https://hwmon.wiki.kernel.org/device_support_status  

原创 C++獲取cpu核數,使用效率

獲取cpu核數,使用率 #include <sys/sysinfo.h> #include <sys/statvfs.h> #include <fstream> #include <iostream> #include <string>

原创 C++獲取硬盤大小,內存大小,已使用內存大小,swap內存大小

    #include <iostream> #include <fstream> #include <string> #include <sstream> #include <unordered_map> #inc

原创 CORS(跨源資源共享)---初步理解1

  CORS(跨源資源共享)是一種網絡瀏覽器的安全功能,它定義了一種瀏覽器和服務器交互的方式來確定是否允許跨源請求。CORS背後的主要思想是使用額外的HTTP頭部來告訴瀏覽器,一個來自不同源的請求是被允許的。這使得瀏覽器能夠執行跨域請求,而

原创 C++創建異步任務

namespace Core { /** * 創建一個異步任務的包裝函數,返回一個指向 std::packaged_task 的 shared_ptr。 *

原创 git分支 合併問題

如果你目前在 dev_a 分支上有未提交的代碼,而想要從 develop 分支創建一個名爲 dev_b 的新分支, 並將 dev_a 分支上的未提交更改應用到了 dev_b 分支上。可以按照以下步驟操作: 保存當前工作進度:如果你有未提

原创 C++11自定義字面量操作符

自定義字面量操作符是從C++11標準開始引入的。它允許程序員爲特定類型定義自定義的字面量表示法,以提供更加直觀和靈活的語法。通過定義自定義字面量操作符,可以讓程序更容易閱讀和理解,同時提高代碼的可讀性和表達能力。 根據C++標準(C++ S

原创 Snowflake 分佈式id生成器--生成唯一ID

在 Snowflake 算法中,通常包含以下幾個部分來構造一個唯一的 ID: 時間戳(Timestamp):佔據了 64 位 ID 中的高 41 位,用來表示生成 ID 的時間。通過時間戳的遞增,保證了生成的 ID 是遞增且唯一的。