Time of Update: 2018-12-05
有時候很多基於檔案的外部排序演算法都需要合并兩個有序的檔案。下面就給出簡單的C++實現方法。具體思路和合并兩個有序的單鏈表的思路是一樣的。void merge_file(const string& file_in_name1,const string& file_in_name2,const string& file_out_name){//開啟兩個輸入檔案和一個輸出檔案ifstream fin1,fin2;fin1.open(file_in_name1.c_str(),
Time of Update: 2018-12-05
【轉】C#調用C++DLL 資料類型轉換(原文地址不可考)轉載地址:http://hi.baidu.com/linzongmao/item/00500532ba2c8dbf623aff0c//c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byte(unsigned char) ---- c#:System.Byte //c++:SHORT(short)
Time of Update: 2018-12-05
1.extern是c/c++語言中表明函數和全域變數作用範圍(可見度)的關鍵字,該關鍵字告訴編譯器,其聲明的函數和變數可以在“全域”範圍中使用2.exterc “C”("C"必須大寫)包含兩重含義:首先,被它修飾的目標是“extern”的;其次,被它修士的目標是“C”的。3.由於extern表達的是“全域”的含義,而static關鍵字則表明變數或函數只能局限在單個模組內使用,所以一個函數或變數只能被模組使用時,不能用extern
Time of Update: 2018-12-05
/// <summary> /// 使用DES加密字串 /// </summary> /// <param name="stringToEncrypt">待加密字串</param> /// <param name="strKEY">8位字元加密金鑰</param> /// <returns></returns> public
Time of Update: 2018-12-05
在C++中,函數編譯時間檢查過程如下:第一步,執行名字尋找(namelookup):在調用類中尋找,並產生候選列表;若候選列表為空白,再擴大尋找範圍(如名 字空間內,或父類);如此迴圈。如果最終無結果,那麼抱歉,就會提示你“名字未能找到”;否則,編譯器跳到第二步。第二步,執行重載辨別(overloadresolution):如果第一步得到的候選者個數大於一,編譯器將以傳遞給函數的參數及其 類型為依據,嘗試找到最佳答案。如果無法據此確定最優者,就會報告“存在二義性調用”。第三步,可見度檢查(ac
Time of Update: 2018-12-05
最早看到POD(plain old data)類型,是在imperfect c++裡。我覺得這是一本把我帶到c++世界裡的一本很重要的書。書裡是這樣解釋POD的: 1、 所有標量類型(基本類型和指標類型)、POD結構類型、POD等位型別、以及這幾種類型的數組、const/volatile修飾的版 本都是POD類型。 2、 POD結構/等位型別:一個彙總體(包括class),它的非static成員都不是pointer to class member、
Time of Update: 2018-12-05
今天群裡一個朋友問到:有class A,1. A* pa = new A[3] 2. pa[0] = A();3. pa[1] = A();4. pa[2] = A(); 5. delete []pa; 建構函式和解構函式是怎麼調用的? 在1裡,new A[3] 首先會分配記憶體,然後調用A的預設建構函式來初始化這個數組。所以在這裡A的建構函式被調用了3次。記住,這裡只能調用A的預設建構函式。如果A沒有預設構造函數,那麼會有編譯錯誤。 什麼叫預設建構函式?就是參數列表為Void的建構函式。
Time of Update: 2018-12-05
/* Style Definitions */ table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm
Time of Update: 2018-12-05
OpenCV:功能十分的強大,而且支援目前先進的影像處理技術,體系十分完善,操作手冊很詳細,手冊首先給大家補電腦視覺的知識,幾乎涵蓋了近10年內的主流演算法;然後將映像格式和矩陣運算,然後將各個演算法的實現函數。我用它來做了一個Harris角點檢測器和Canny邊緣檢測器,總共就花了一個小時(第一次用OpenCV)。而且該庫顯示映像極其方便,兩句話就可以。但該庫似乎不大穩定,對32F和16S、8U的映像資料支援上bug重重。我用cvFilter2D函數進行線性濾波,屢屢出錯,後來一查原來是大bu
Time of Update: 2018-12-05
C#事件(event)解析 事件(event),這個詞兒對於初學者來說,往往總是顯得有些神秘,不易弄懂。而這些東西卻往往又是編程中常用且非常重要的東西。大家都知道windows訊息處理機制的重要,其實C#事件就是基於windows訊息處理機制的,只是封裝的更好,讓開發人員無須知道底層的訊息處理機制,就可以開發出強大的基於事件的應用程式來。先來看看事件編程有哪些好處。在以往我們編寫這類程式中,往往採用等待機制,為了等待某件事情的發生,需要不斷地檢測某些判斷變數,而引入事件編程後,大大簡化了這種過
Time of Update: 2018-12-05
try { Assembly asmb = Assembly.LoadFrom("Acmeway.Check.CardioScan.dll"); Type t = asmb.GetType("Acmeway.Check.CardioScan.CardioScanSaveEvaluationInfo"); if (t == null)
Time of Update: 2018-12-05
C#全域變數的使用C#應用程式中.使用者登陸後.比如要把使用者名稱,使用者等級,使用者IP地址等等記錄到變數中.我們需要使用到全域變數.就跟ASP網站中登陸後使用SESSION,COOKIE的原理是一樣的.有一種方式總可能會記錄下使用者登陸的資訊,C#中用到的是自訂一個類.其中定義靜態變數來實現的,下面是使用的部分代碼://定義類GlobalUserClass.CS 類代碼using System;using System.Net;namespace EP_MIS{ ///
Time of Update: 2018-12-05
//c#使用線程下載檔案的控制技巧和缺陷//系統引用//定義線程公開變數//開始線程下載檔案//中止線程下載//系統引用using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Net; using System.IO;using System.Text;using
Time of Update: 2018-12-05
1 條件include如下:#ifndef MAIN_H_#define MAIN_H_……#endif 上面在看到標頭檔時會看到,作用就是阻止這個標頭檔被多次include,多次include就會出現重複的定義情況所以需要在每個標頭檔中都使用這個定義。 如果還不是很瞭解要怎樣使用 可以看看 c的標準標頭檔 如fcntl.h2 條件編譯如下#ifdef _DEBUG // Debug模式printf("this debug info
Time of Update: 2018-12-05
我不知道CSDN把筆記二弄哪去了,這是第2次寫的東西。Lua學習筆記二在Lua中使用自己的C函數 OK,上次我們掌握了如何在Lua指令碼中編寫一個函數,並在C檔案中接應它。現在讓我們來學習另外一種互動方式。本節的目的:在Lua指令碼中調用自己寫的函數。側重點為自己編寫可以被Lua指令碼使用的C函數的規則。 啥都不說了,RTFS -------以下是Lua指令碼----------test.luaLuaC_MessageBox( "Last is ShowMessage! This is
Time of Update: 2018-12-05
涉及到的類:用戶端:1.System.Runtime.Remoting.Channel.Tcp.TcpClientChannel類:為遠程調用實現使用 TCP 協議傳輸訊息的用戶端通道。通道跨越遠端邊界(例如,電腦或應用程式定義域)傳輸訊息。TcpClientChannel 類使用 TCP 協議傳輸訊息。.NET Framework
Time of Update: 2018-12-05
類中的共有結點類是產生對象的模板,但每個由類建立的對象都有其隔離儲存區 (Isolated
Time of Update: 2018-12-05
下面的C++代碼定義了一個類Point:class Point{public: Point(float xval); virtual ~Point(); float x() const; static int PointCount();protected: virtual ostream& print( ostream &) const; float _x; static int _point_count;};
Time of Update: 2018-12-05
這篇筆記說的是關於c/c++中的類型轉換的東西,重點是與指標有關的類型。1、強制類型轉換看一下這個c代碼:int a = 0x123456; //0x是十六進位的標記法char c = (char)a;printf("%d/n", c);在我的編譯環境裡輸出的是什麼呢? 是86,怎麼得來的呢?(我的編譯環境見“概述”)int a的記憶體如下(左邊是低地址的內容,右邊是高地址的內容):0x56 0x34 0x12 0x00"是不是搞反了?"
Time of Update: 2018-12-05
在C語言裡面,有時候為了方便(方便的同義字是偷懶),函數就直接在標頭檔裡面實現了。那麼這樣子有什麼問題呢?下面舉個例子,這個例子只有3個檔案/* fun.h */#ifndef FUN_H#define FUN_Hvoid base(){};void fun();#endif /* fun.c */#include "fun.h"void fun(){ base();}/* main.c */#include "fun.h"int main(){ fun(); return 0