Time of Update: 2018-12-05
類似於CObject的基類BaseClass、類似於CRuntimeClass的RuntimeClass和相關宏的定義標頭檔如下://////////////////////////BaseClass.h#ifndef BASECLASS_H#define BASECLASS_H#include <iostream>class BaseClass;struct RuntimeClass{ char *classname; BaseClass* (*pCreateFn)(
Time of Update: 2018-12-05
ForewordThis is a remarkable book, but it wasn't until I had nearly finished reading it that I realized just how remarkable it is. This could well be the first book ever written for people who are already familiar with C++?span
Time of Update: 2018-12-05
C++繼承方式總共分為以下幾種:public、private、protected三種(它們直接影響到衍生類別的成員、及其對象對基類成員訪問的規則)。(1)public(公有繼承):繼承時保持基類中private成員被隱藏,其它各成員屬性不變,被繼承為衍生類別的成員。so衍生類別的成員只能訪問基類中的public/protected成員,而不能訪問private成員;衍生類別的對象只能訪問基類中的public成員。(2)private(私人繼承):繼承時基類中private成員被隱藏,其它各成員屬
Time of Update: 2018-12-05
C#泛型,關於C#泛型在msdn上有詳細的講解和案例。學習過程中要多研讀msdn上面的案例,因為它們是最精華,即使不是最容易理解的。下面筆者摘錄了C# 泛型和 C++ 範本這一小節的內容和大家分享。以備溫習——————————————————————————————————————————————————————————————————————————————C# 泛型和 C++ 範本都是用於提供參數化型別支援的語言功能。然而,這兩者之間存在許多差異。在文法層面上,C#
Time of Update: 2018-12-05
第一題是:寫一函數,實現刪除字串str1中含有的字串str2。這一題不難,但是有個 KMP最佳化演算法,大家有興趣可以查看資料看一下。第二題是:給定的字串A和B,輸出A和B中的最大公用子串。本人的代碼是:#include<stdio.h>#include<string.h>void UtMost_ComStr(char* s1,char* s2)//imagine: s1 is longer{int maxLength=0,length=0,i=0;char *p1=s1
Time of Update: 2018-12-05
源地址:http://blog.163.com/woshitony111@126/blog/static/71379539201262213418928/finddata_t的使用 那麼到底如何尋找檔案呢?我們需要一個結構體和幾個大家可能不太熟悉的函數。這些函數和結構體在<io.h>的標頭檔中,結構體為 struct _finddata_t ,函數為_findfirst、_findnext和_fineclose.具體如何使用,我會慢慢講來~ 首先講這個結構體吧~struct
Time of Update: 2018-12-05
來源於: http://www.fzitshow.com/redirect.php?tid=11971&goto=lastpost#include <string.h>#include <stdlib.h>#include <openssl/md5.h>// 函數原型;// void MD5_Init(MD5_CTX *c);// void MD5_Update(MD5_CTX *c, const void *data, unsigned long
Time of Update: 2018-12-05
va系列宏的用法的一般步驟: vsptr(char *format, ...) //切記此處的格式 { va_list argptr; va_start(argptr, format); //使得argptr指向以format開頭的儲存空間 va_arg(argptr, type); //返回argptr指向的參數列表的當前參數,並使得argptr指向參數列表的下一個參數 ... va_end(argptr);
Time of Update: 2018-12-05
第一種方法:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include
Time of Update: 2018-12-05
很多時候需要根據類的資訊來建立執行個體,需要通過帶參數的建構函式來建立執行個體的例子如下:string assemblyFile;string implClass;string[] impCtorSig;//建構函式的參數類型數組例如“System.String”等protected object CreateInstance(object[] ctorArgs){ //Load Assembly Assembly ass =
Time of Update: 2018-12-05
其實,C++調用Python有兩種方式,我前面介紹了第一種方式:通過找到Python模組,類,方法,構造參數來調用。第二中方式,就是通過構造出一個Python的指令碼,用python引擎來執行。第一種方式可能更為優雅,符合大多數的反射調用的特點。(我在以前的一個項目中,實現了c#的反射機制,c#調用Com+,c#調用javascript指令碼等)。
Time of Update: 2018-12-05
前兩篇都是介紹Python調用C++的,換句話說,就是需要把C++封裝成Python可以“理解”的類型。這篇,我打算說一下,C++怎麼去調用Python指令碼。其實這兩者之間是相通的,就是需要可以互操作。按照慣例,先貼代碼。test.cpp/* * test.cpp * Created on: 2010-8-12 * Author: lihaibo */#include <python2.6/Python.h>#include
Time of Update: 2018-12-05
<configuration> <system.diagnostics> <switches> <add name="mySwitch" value="4"
Time of Update: 2018-12-05
緣起:買了心儀已久的O2手機。終於鳥槍換炮,用上Windows Mobile了。可惜沒有GPS。沒關係,存一張地圖,憑我深厚的地理功底肯定沒問題的!問題:一張上海地圖6000*5000,jpg格式,7M多。手機解析度只有320*240,cpu只有400MHz。開啟那叫個慢阿,而且還要放大,那叫個等啊。解決方案:把地圖大卸八塊!說幹就幹,用VS2008寫的Windows
Time of Update: 2018-12-05
SET PARSEONLY檢查每個 Transact-SQL 陳述式的文法並返回任何錯誤訊息,但不編譯和執行語句。SET PARSEONLY { ON | OFF }當 SET PARSEONLY 為 ON 時,SQL Server 只分析語句。當 SET PARSEONLY 為 OFF 時,SQL Server 編譯並執行語句。SET PARSEONLY 的設定是在分析時設定,而不是在執行或運行時設定。在預存程序或觸發器中不要使用 PARSEONLY。如果 OFFSETS 選項為 ON
Time of Update: 2018-12-05
1、聯合體union 是聯合體,聯合體中可以包含1個到多個結構體, 這些結構體中大小最長的結構體決定聯合體的長度,對於聯合體中的任何一個成員賦值,會導致其他的成員被重設(因為記憶體共用的關係。)比如:union{int a;float b;struct{char c;int d;} st;}對該聯合體中的 a 進行賦值,會導致 b 和st 的值進行重設,這是因為,a、b、st 是共用的記憶體空間。 對st 中的 c 進行賦值同樣會導致
Time of Update: 2018-12-05
區別:const的值是在編譯期間確定的,因此只能在聲明時通過常量運算式指定其值,比如:public const π=3.1415926;public const DayHours=24;像這些恒定不變的量,我們最好是用Const來聲明。static readonly是在運行時計算出其值的,所以還可以通過靜態建構函式來賦值。比如:public static string m_CurrentMdbPath;public static string
Time of Update: 2018-12-05
因為一道面試的題目,所以抓來了譚浩強的《C語言程式設計》翻了下,其中譚老師在240頁10.22例中,字元指標指向的字元,可通過像字元數組,使用[]來訪問,即: char * a = “I love china”;printf("The sixth charcter is %c\n",a[5]); 我便突發奇想,可否通過字元指標來改變其指向的內容,即VS2005的環境下,便會出 “0xC0000005: 寫入位置 0x00418bf0
Time of Update: 2018-12-05
具名管道的串連總結: 具名管道的串連有兩次阻塞的地方,一是在WaitForConnection()時[用戶端進行串連同理]會阻塞,二是在ReadString()[讀取管道資訊]時。 在伺服器端第一次建立具名管道後等待串連,當用戶端串連成功後伺服器端的具名管道就用作通訊用途。如果需要再次等待串連,伺服器端就需要再次開啟具名管道(建立一個具名管道的執行個體)並等待串連。
Time of Update: 2018-12-05
C++實現的委託機制(1)1.引言下面的委託實現使用的MyGUI裡面的委託實現,MyGUI是一款強大的GUI庫,想理解更多的MyGUI資訊,猛擊這裡http://mygui.info/ 最終的代碼可以在這裡下載:http://download.csdn.net/detail/gouki04/3641328 我們的目標是要實現一個跟.NET幾乎完全一樣的委託,使用簡單,支援多播,可以添加刪除委託。同時支援C++的普通函數、模板函數、類成員函數,類的靜態成員函數,並且支援多態。使用方式如下://