Time of Update: 2018-12-04
精確擷取時間QueryPerformanceFrequency() - 基本介紹類型:Win32API原型:BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);作用:返回硬體支援的高精度計數器的頻率。傳回值:非零,硬體支援高精度計數器;零,硬體不支援,讀取失敗。QueryPerformanceFrequency()
Time of Update: 2018-12-04
委託: Msdn上面關於委託的第一句就是通過將委託於明明方法或者匿名方法關聯起來,可以執行個體化委託。c++中有一個很強大的東東——指標。當然這個也是詬病暴多的地方。C#中是沒有指標的,但是很多時候我們需要c++的強大功能,但又不能引進C++中的記憶體方面的缺陷,於是C#中出現了委託。"delegate 關鍵字用於聲明一個參考型別,該參考型別可用於封裝命名方法或匿名方法。委託類似於 C++ 中的函數指標;但是,委託是型別安全和可靠的。"(MSDN)
Time of Update: 2018-12-04
看了兩篇不錯的部落格,粘在下面,做個記錄由一道面試題說起面試題:為什麼標準標頭檔都有類似以下的結構?#ifndef __INCvxWorksh#define __INCvxWorksh#ifdef __cplusplusextern "C" {#endif/*...*/#ifdef __cplusplus}#endif#endif /* __INCvxWorksh */分析:1 顯然,標頭檔中的編譯宏“#ifndef __INCvxWorksh、#define
Time of Update: 2018-12-04
C/C++中Static的作用詳述一.在C語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。(1)先來介紹它的第一條也是最重要的一條:隱藏。當我們同時編譯多個檔案時,所有未加static首碼的全域變數和函數都具有全域可見度。為理解這句話,我舉例來說明。我們要同時編譯兩個源檔案,一個是a.c,另一個是main.c。下面是a.c的內容char a = 'A'; // global variablevoid
Time of Update: 2018-12-04
在一個函數體內定義的類稱為局部類。局部類中只能使用它的外圍範圍中的對象和函數進行聯絡,因為外圍範圍中的變數與該局部類的對象無關在定義局部類時需要注意:局部類中不能說明靜態成員函數,並且所有成員函數都必須定義在類體內。在實踐中,局部類是很少使用的。下面是一個局部類的例子int a;void fun(){static int s;class A{public: void init(int i) { s = i; }};A m;m.init(10);}
Time of Update: 2018-12-04
Time of Update: 2018-12-04
文章目錄 第一種條件編譯第二種條件編譯 先行編譯是整個編譯過程的第一步,是g++ -E選項輸出的結果。這個步驟處理的是源檔案/標頭檔中的宏,巨集指令常用的有以下幾類:檔案包含:#include宏定義:#define、#undef條件編譯:#ifdef、#ifndef、#if、#elif、#else、#endif1. 檔案包含 #include預先處理會把要包含的檔案的內容全部包含進來,比如下面這個檔案prepro.cpp:#include
Time of Update: 2018-12-04
電腦視覺(模式識別,影像處理)這個行業,從本質上來說,依然屬於IT領域。個人認為,一個合格的電腦視覺演算法工程師,不僅要熟悉各種常用的視覺分析、模式識別、機器學習演算法,更好懂得如何編程來實現這些演算法;換而言之,電腦視覺演算法工程師 = 演算法工程師 +
Time of Update: 2018-12-04
昨天發貼提了個問題,今天總結在這。原帖點擊進入,有興趣可以看看,我呆會兒還會說。C++的new是語言自訂的操作符,這個操作符的行為包含兩件事,而且你不能改變。第一件事:調用operator new分配記憶體。所以通常說的重載new函數其實重載的是operator new,你無法重載new。第二件事:調用你要new的對象的所屬類的建構函式初始化第一步中分配的記憶體。這就是為什麼你Object *pobj = new
Time of Update: 2018-12-04
例子:在C的main函數中調用組合語言寫的addone函數,把傳入的參數加一然後返回。彙編裡面首先要把用到的寄存器壓棧,使用指令global使函數可以在其他檔案中調用,順便說一句,C中的static函數之所以只能在本檔案中可用,就是編譯後的彙編檔案沒有用global指令,彙編的傳回值放在EAX寄存器中。彙編檔案名稱是addone.asm,彙編方法在後面,內容如下:global addone;addone:MOV RAX, [RSP + 20]; stack top + 20 bytesADD
Time of Update: 2018-12-04
轉自:http://blog.csdn.net/qiumingbo/archive/2007/05/25/1625324.aspx MessageBox用法訊息框是個很常用的控制項,屬性比較多,本文列出了它的一些常用方法,及指出了它的一些應用場合。1.MessageBox("這是一個最簡單的訊息框!");2.MessageBox("這是一個有標題的訊息框!","標題"); 3.MessageBox("這是一個確定 取消的訊息框!","標題", MB_OKCANCEL );
Time of Update: 2018-12-04
C sscanf 函數的用法 詳解【原文出處】http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html 在我的學習過程中,從檔案讀取資料是一件很麻煩的事,所幸有sscanf()函數。 C語言函數sscanf()的用法 sscanf() - 從一個字串中讀進與指定格式相符的資料. 函數原型: int sscanf( string str, string fmt, mixed var1, mixed
Time of Update: 2018-12-04
自: http://www.cnscn.org 1)預先處理 根據已放置在檔案中的預先處理指令來修改源檔案的內容 前置處理器會分析/執行所有的前置處理器指令,然後刪除他們,得到一個僅包含C++語句的轉換單元 預先處理指令以#號開頭 常用的預先處理指令: #include 包含標頭檔 #if 條件 #else 否則 #elif
Time of Update: 2018-12-04
C++ 計時器 單位【原文出處】http://my.csdn.net/yuhentian/code/detail/29603C++中基本的計時器使用,有多種基本單位可選//Windows系統下time(),clock(),timeGetTime(),GetTickCount(),QueryPerformanceCounter()來計時#include <stdio.h> #include <windows.h> #include <time.h>
Time of Update: 2018-12-04
題目:對於一個空類,sizeof(空類)是多少?先看一下測試代碼,結果在G++ 4.5 64bit機器上列印出來。#include <iostream>using namespace std;class ClassA {};class ClassB { private: int b;};class ClassC : public ClassA {};class ClassD : public ClassB {};class ClassE { public: int
Time of Update: 2018-12-04
使用宏時,用圓括弧括住每個參數,並括住宏的整體定義;一般來說,在宏中不要使用自增或自減運算子。 下面是一些常見的宏定義: [1]最值#define MIN(x, y) (((x) < (y)) ? (x) : (y))求兩者間的較小者#define MAX(x, y) (((x) > (y)) ? (x) : (y))求兩者間的較大者#define MAX3(x,y,z) MAX(MAX(x,y),z)求三者間的較大者[2]移位#define SHIFT(value, n)
Time of Update: 2018-12-04
1、使用Magick++讀取,適用於各種圖片格式(Magick++支援)相關資料:http://www.imagemagick.org/Magick++/Image.htmlhttp://www.imagemagick.org/Magick++/Documentation.htmlhttp://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=16625 int _tmain(int argc, _TCHAR* argv[]
Time of Update: 2018-12-04
在C++中,記憶體被分為五個塊: 堆,棧,自由儲存區,全域/靜態變數區和常量儲存區.棧: 是編譯器在需要的時候分配,在不需要的時候自動清除的一塊地區.通常用來儲存局部變數,形式參數.堆: 一般是由new分配的地區,編譯器不會去管這Block Storage地區,主要是由程式員控制,一個new對應一個delete.如果用new分配了一塊記憶體而沒有進行釋放的話,只有等到進程結束的時候被系統自動收回.自由儲存區:
Time of Update: 2018-12-04
(一)寫函數完成記憶體的拷貝void* memcpy( void *dst, const void *src, unsigned int len ){ register char *d; register char *s; if (len == 0) return dst; if ( dst > src ) //考慮覆蓋情況 { d = (char *)dst + len - 1; s = (char *)src
Time of Update: 2018-12-04
(一)在centos5.5下面:1. 使用yum安裝(最簡單): 1.1 使用yum安裝時,首先確保一個最新的源,通過網路軟體檔案鏡像將系統裡的軟體升級,如直接在終端執行以下: cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.save wget http://centos.ustc.edu.cn/CentOS-Base.repo.5 mv CentOS-Base.