Regex備忘筆記

1. 常用的元字元代碼   說明.        匹配除分行符號以外的任一字元\w     匹配字母或數字或底線或漢字\s      匹配任意的空白符\d      匹配數字\b      匹配單詞的開始或結束^       匹配字串的開始$       匹配字串的結束2. 常用的限定符 代碼        說明*            重複零次或更多次+            重複一次或更多次?            重複零次或一次{n}        重複n次{n,}      

【STL】String的幾種常見的類型轉換

#include <iostream>#include <boost/lexical_cast.hpp> int main(int argc, char *argv[], char *env[]){// 1. c++中string到int的轉換// 1.1 在標準庫裡面,使用atoi或者strtol{std::string text = "152";int number = std::atoi(text.c_str()); std::cout <<

【Boost】boost庫中sleep方法詳解

boost庫中sleep有兩個方法:1. 這個方法只能線上程中用, 在主線程中用無效. 原型:void sleep(TimeDuration const& rel_time);void sleep(system_time const& abs_time);執行個體:boost::this_thread::sleep(boost::posix_time::seconds(2)); //

【Boost】boost庫中thread多線程詳解1

1. 概述線程就是,在同一程式同一時間內允許執行不同函數的離散處理隊列。 這使得一個長時間去進行某種特殊運算的函數在執行時不阻礙其他的函數變得十分重要。 線程實際上允許同時執行兩種函數,而這兩個函數不必相互等待。一旦一個應用程式啟動,它僅包含一個預設線程。 此線程執行main() 函數。 在main()中被調用的函數則按這個線程的上下文順序地執行。 這樣的程式稱為單線程程式。反之,那些建立新的線程的程式就是多線程程式。 他們不僅可以在同一時間執行多個函數,而且這在如今多核盛行的時代顯得尤為重要。

【Boost】boost庫中thread多線程詳解2——mutex與lock

1. mutex對象類mutex類主要有兩種:獨佔式與共用式的互斥量。▲ 獨佔式互斥量:mutex: 獨佔式的互斥量,是最簡單最常用的一種互斥量類型try_mutex: 它是mutex的同義字,為了與相容以前的版本而提供timed_mutex: 它也是獨佔式的互斥量,但提供逾時鎖定功能▲ 遞迴式互斥量:recursive_mutex: 遞迴式互斥量,可以多次鎖定,相應地也要多次解鎖recursive_try_mutex: 它是recursive_mutex

【Boost】boost庫中thread多線程詳解3——細說lock_guard

boost::lock_guard可以說是一種比boost::unique_lock輕量級的lock, 簡單一些情境可以用它就行了。看看它的原始碼也很簡單:template<typename Mutex>class lock_guard{private: Mutex& m; explicit lock_guard(lock_guard&); lock_guard& operator=(lock_guard&);public:

DELPHI WM_CopyData 用法

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ComCtrls;typeTForm1 = class(TForm)Button1: TButton;Edit1: TEdit;Edit2: TEdit;procedure Button1Click(Sender: TObject);private{

【Boost】boost庫的隨機數的例子

void test_mt19937(){// 以時間為種子建立一個隨機數發生器boost::mt19937 rng(time(0));for (int i = 0; i < 100; ++i){std::cout << rng() << std::endl;}}void test_rand48(){boost::rand48 rng;for (int i = 0; i < 10; ++i){std::cout << rng() * 1.0 /

【Boost】boost::bind四種應用情境的例子

int f(int a, int b){return a + b;}int g(int a, int b, int c){return a + b + c;}// 函數指標定義typedef int (*f_type) (int, int);typedef int (*g_type) (int, int, int);// 使用struct僅僅是為了方便, 不必寫出publicstruct demo{int f(int a, int b){return a + b;}};//

Delphi檔案類型

*.pas  源碼(可隨意修改)*.dcu  編譯後單元(不可修改,且版本間不相容)*.res  資源檔(不可缺少)*.rc  用來建立.res檔案*.dcp and *.bpl 設計運行包*.dcr  控制項表徵圖*.dpk  控制項包工程檔案*.dfm  表單檔案*.dpr  工程主檔案 .cfg根據dof檔案產生的編譯器和連接器的命令列參數。.dof(Delphi

junit4中annotation的幾種應用

package com.fsti.math;public class MathDemo {public int add(int a, int b) {return a + b;}public int div(int a, int b) {if (b == 0) {throw new ArithmeticException("除數不能為0!");}return a / b;}}package com.fsti.math;import static

【STL】string中c_str()、data()函數的用法

標準庫的string類提供了3個成員函數來從一個string得到c類型的字元數組:c_str()、data()、copy(p,n)。1. c_str():產生一個const char*指標,指向以Null 字元終止的數組。註:①這個數組的資料是臨時的,當有一個改變這些資料的成員函數被調用後,其中的資料就會失效。因此要麼現用先轉換,要麼把它的資料複製到使用者自己可以管理的記憶體中。注意。看下例:const char* c;std::string s = "1234";c =

Delphi 發布ActiveX控制項 數位簽章

   最近我正在研究ActiveX技術。我使用Delphi 7建立了一個具有ActiveForm的ActiveX控制項應用程式。這個控制項產生一個.OCX檔案。現在,我需要把這個控制項部署在伺服器端,在使用者瀏覽網頁並選擇安裝這個控制項的時候,使用者的IE才會下載、安裝並顯示這個控制項。   但是我的控制項必須作數位簽章以後,IE才會下載安裝。問題是如何給ActiveX控制項作數位簽章呢?現將具體步驟與大家分享。   首先我需要一套做數位簽章的工具。如果你沒有,可以到以下地址下載:http://

Win7下啟用離開模式

        在Win7系統中雖然內建了離開模式,但預設情況下並沒有啟用,啟用方法如下:   按Win+R,輸入“regedit”並斷行符號,在開啟的登錄編輯程式中依次展開到[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SessionManager/Power],子項,在右側建立Dword

常用的碼率方案

針對 H.264,這裡有一些常用的碼率方案: 畫面尺寸 1920 x 1080 (真正高清),選擇碼率為7,000-8,000 Kbps。  畫面尺寸 1280 x 720 (通用高清),選擇碼率為5,000-6,000 Kbps。  畫面尺寸 640 x 480 (標清),選擇碼率為1,000-2,000 Kbps。  畫面尺寸 320 x 240 (網路傳輸),選擇碼率為300-500 Kbps。  畫面尺寸  176 x 144 (3G), 10-15 fps的內容選擇碼率為50-60

vnc2flv(或者vnc2swf)的原理分析

VNC使用遠程幀緩衝協議(VFB,remote framebuffer)來實現桌面共用和遠端控制。一般包括VNC Client和VNC Server兩部分,Server預設使用5500連接埠監聽,VNC中不同的案頭(比如:0 to :3)使用不同的連接埠(比如5900到5903)。如果你在A上使用VNC訪問B,那麼VNC將把器A上的鍵盤滑鼠操作傳輸給器B,而B則把需要顯示的幀傳輸給A,這就是VNC的原理。VNC Client在串連VNC

【Boost】boost庫asio詳解5——resolver與endpoint使用說明

tcp::resolver一般和tcp::resolver::query結合用,通過query這個詞顧名思義就知道它是用來查詢socket的相應資訊,一般而言我們關心socket的東東有address,port而已,通過tcp::resolver很容易實現設定和查詢,它通過query把字串格式的ip如192.168.0.200或主機名稱http://localhost,連接埠“8080”等轉化成socket內部表示格式,這樣我們應用的時候可以直接使用字串的形式,而且不用再擔心socket的位元組

【Boost】boost::shared_from_this值得注意的地方

shared_from_this()在一個類中需要傳遞類對象本身shared_ptr的地方使用shared_from_this函數來獲得指向自身的shared_ptr,它是enable_shared_from_this<T>的成員函數,返回shared_ptr<T>。首先需要注意的是:這個函數僅在shared_ptr<T>的建構函式被調用之後才能使用。原因是enable_shared_from_this::weak_ptr並不在enable_shared_fr

【Boost】boost庫中thread多線程詳解4——談談recursive_mutex(遞迴式互斥量)

如果一個線程中可能在執行中需要再次獲得鎖的情況(例子:test_thread_deadlock),按常規的做法會出現死結。此時就需要使用遞迴式互斥量boost::recursive_mutex,例子(test_thread_recursivelock)來避免這個問題。boost::recursive_mutex不會產生上述的死結問題,只是是增加鎖的計數,但必須確保你unlock和lock的次數相同,其他線程才可能鎖這個mutex。namespace {boost::mutex g_mutex;

【Boost】boost庫asio詳解1——strand與io_service區別

namespace{// strand提供串列執行, 能夠保證安全執行緒, 同時被post或dispatch的方法, 不會被並發的執行. // io_service不能保證安全執行緒boost::asio::io_service m_service;boost::asio::strand m_strand(m_service);boost::mutex m_mutex;void print(int id){// boost::mutex::scoped_lock

總頁數: 61357 1 .... 12827 12828 12829 12830 12831 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.