Time of Update: 2018-12-03
(1)委託是什嗎? 1.委託在C#中可以看作是對象的一種新類型(委託是一種在對象裡儲存方法引用的類型)。委託把一個方法作為參數傳入到另一個方法,通過傳遞地址的機制完成。它相當於C/C++的函數指標,不過它是型別安全的函數指標。委託可以擁有多個方法。 2.委託是派生於基類System.Delegate的一個類的執行個體.
Time of Update: 2018-12-03
本文轉自http://www.cnblogs.com/fzhe/archive/2012/12/13/return.htmlC++中的return語句是函數中一個重要的語句,return語句用於結束當前正在執行的函數,並將控制權返回給調用此函數的函數。return語句有兩種形式:return;return
Time of Update: 2018-12-03
為了對一個類進行執行個體化,通常使用這個類的構成函數,但是有時候出現這類情況:幾個類實現了同一個介面,具有同樣的操作、返回了同樣的抽象類別型,不知道該為哪個類型建立對象,因為需要根據條件來控制對哪個類進行執行個體化,並且此時類的數量可能增減,介面卻是穩定的。我們需要Factory 方法模式! 我們遇見一個.NET中的經典執行個體就是列舉程式。Enumerator的 GetEnumerator()的方法是一個用了Factory
Time of Update: 2018-12-03
1.將static變數定義在函數體內,static函數的作用範圍為該函數體,每次儲存上一次的值。int fun1(int a){ static int b=0; b++; return a+b;}int main(){ int i; for(i=0;i<3;++i) cout<<fun1(i)<<endl;}輸出結果為1,3,5.2.若static變數定義在函數體外,一個檔案內,static的範圍為檔案內。static int b=0;int
Time of Update: 2018-12-03
下面是一段用於遍曆檔案夾內的指定類型檔案的程式:// C++遍曆檔案夾 // Author:www.icvpr.com// Blog: http://blog.csdn.net/icvpr #include <iostream>#include <string>#include <io.h>using namespace std;int main(int argc, char** argv){string fileFolderPath = "..\\
Time of Update: 2018-12-03
#include <string>//c:\Program Files\Common Files\System\ADO\msado15.dll#import "msado15.dll" no_namespace rename("EOF", "EndOfFile") using namespace std;int _tmain(int argc, _TCHAR* argv[]){ ::CoInitialize(NULL); _ConnectionPtr
Time of Update: 2018-12-03
本文討論的是在Intel機子上windows系統下的c記憶體配置示範會更容易懂些。1,數組元素在記憶體中的順序也請注意程式順序與記憶體順序的關係 int b=10; int a[3]={1,2,3}; int c=11; a的地址跟a[0]的地址一樣,但是 指標的加減運算
Time of Update: 2018-12-03
轉自:http://hi.baidu.com/gaocher/item/e5aca502dade2898a2df4341string link = File.ReadAllText("database.txt");conn = new SqlConnection(link); try { conn.Open(); SqlCommand cmd = conn.CreateCommand();
Time of Update: 2018-12-03
轉自:http://blog.csdn.net/fuyangchang/article/details/6727109 一. cppcheck介紹cppcheck 是一個靜態代碼檢查工具,支援c, c++ 代碼;作為編譯器的一種補充檢查,cppcheck對產品的原始碼執行嚴格的邏輯檢查。 執行的檢查包括:1. 自動變數檢查2. 數組的邊界檢查3. class類檢查4. 到期的函數,廢棄函數調用檢查5. 異常記憶體使用量,釋放檢查6. 記憶體流失檢查,主要是通過記憶體引用指標7.
Time of Update: 2018-12-03
函數指標是一個指向函數的指標,可以如下定義:int (*pfunc)(int, int);對這條語句的解釋是:先解釋(*pfunc),所以pfunc首先是一個指標;再解釋(int, int),pfunc指向一個函數,該函數的參數有兩個,都是整形;最後是傳回值。因此,如果定義了一個函數int max(int a, int b),我們就可以這樣使用函數指標了:pfunc = max; // 注意二者的傳回型別,需要一致函數指標與指標函數是不一樣的,後者是一個函數,其傳回值是一個指標,比如char *
Time of Update: 2018-12-03
映像銳利化演算法 C++ 實現之前一段我們提到的演算法都是和平滑有關, 經過平滑演算法之後, 映像銳度降低, 降低到一定程度, 就變成了模糊。 今天我們反其道行之, 我們看看銳利化是怎麼做的。 這裡的銳利化, 還是的從平滑談開去。我們先來觀察原來的映像和平滑映像的區別:原圖 raw 減去模糊圖 blur __________________
Time of Update: 2018-12-03
轉自:http://hi.baidu.com/magwitch/blog/item/5e8750d9699476ee39012fbc.html【有改動】當 Visual C++ 項目啟用了先行編譯頭 (Precompiled header) 功能時,如果項目中同時混合有 .c 和 .cpp 源檔案,則可能收到 C1853 編譯器錯誤:fatal error C1853: 'pjtname.pch' precompiled header file is from a previous
Time of Update: 2018-12-03
平面中,兩直線不相交就平行,相交中又分垂直相交和非垂直相交,兩直線重合可認為是特殊的平行。C語言代碼如下:/* 兩直線的關係 * 平面中,兩直線不相交就平行 */int TwoLines(Line m, Line n){// 平行:A1/B1 = A2/B2if (m.A * n.B == m.B * n.A){// 兩直線斜率相同if (m.C * n.B == m.B * n.C)return 1;// 重合else return 2;// 平行}// 相交else{if (m.A * n.
Time of Update: 2018-12-03
本文通過例子介紹makefile最簡單的使用,其他的規則或簡化等不在本文範圍中。假如我們編寫了一個檔案main.c,我們編譯最常用的方法就是gcc -o main main.c,但一個項目不能只有一個檔案,對於這許多檔案,我們該如何去編譯呢?於是程式員們使用一個工具去編譯,這就是make,當程式有變動時,只需敲寫make,斷行符號即可。為了執行make,我們要為項目編寫一個很重要的檔案Makefile。假如我們只有兩個檔案a.c和b.c,我們可以這樣編寫Makefile:ab:a.o
Time of Update: 2018-12-03
忘了在那看到的了,寫到這,記錄一下 1)access2)fopen3)stat fstat?>>>>>應當使用函數access,標頭檔是io.h,原型: int access(const char *filename, int amode); amode參數為0時表示檢查檔案的存在性,如果檔案存在,返回0,不存在,返回-1。 這個函數還可以檢查其它檔案屬性: 06 檢查讀寫權限 04 檢查讀許可權
Time of Update: 2018-12-03
static_cast<目標類型>(標示符) 靜態類型轉換 char->int 隱式轉換 int->char 靜態轉換 多數情況下將void*轉換為其他指標dynamic_cast<目標類型>(標示符) 動態類型轉換 在具有多態特性的父子類之間進行轉換reinterpret_cast<目標類型>(標示符) 重解釋類型轉換 在任意類型的指標或類型之間進行轉換,甚至可以在指標和整型之間進行轉換const_cast<目標類型>(標示符)
Time of Update: 2018-12-03
ODBC(Open Database Conectivity)即開放式資料庫互聯,作為Windows開放性結構的一個重要部分已經為很多的Windows程式員所熟悉,ODBC的工作依賴於資料庫製造商提供的驅動程式,使用ODBC API的時候,Windows的ODBC管理程式,把資料庫訪問的請求傳遞給正確的驅動程式,驅動程式再使用SQL語句指示DBMS完成資料庫訪問工作,因此,ODBC的存在為我們開發應用程式資料庫程式提供了非常強大的能力和靈活性。----
Time of Update: 2018-12-03
寫一個簡單的可變參數的C函數 下面我們來探討如何寫一個簡單的可變參數的C函數.寫可變參數的 C函數要在程式中用到以下這些宏: void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr ); va在這裡是variable-argument(可變參數)的意思. 這些宏定義在stdarg.h中,所以用到可變參數的程式應該包含這個 標頭檔
Time of Update: 2018-12-03
範例代碼如下:#include <stdio.h>#include <stdarg.h>// gcc -o arg stdarg.cvoid Print(const char *fmt, ...){char text[256];// 儲存字串va_list ap;// 指向一個變數列表的指標if (fmt == NULL)return;va_start(ap, fmt);// 分析可變參數vsprintf(text, fmt, ap);// 把參數值寫入字串va_end(
Time of Update: 2018-12-03
Linux系統下的多線程遵循POSIX線程介面,稱為pthread。編寫Linux下的多線程程式,需要使用標頭檔pthread.h,編譯需要在後面加-lpthread。關於多線程,主要有以下幾個過程:1,建立線程2,各個線程的執行3,等待線程的結束涉及的線程函數主要有:1,int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void