Time of Update: 2018-12-03
1. 問題提出:C++ RTTI缺乏一些運行時資訊,無法根據對象名直接建立對象。所以MFC為了實現序列化,從頭構造了自己的RTTI資訊,並定義了一整套宏。具體可以參考MFC源代中一下類和宏的實現:CRuntimeClass, CObject, DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC2. 需求:個人正在寫一個做整合測試的工具,有一個設定檔,用於指定哪些CASE需要被測試到,內容大致如下:<ut> <case name="case1"/>
Time of Update: 2018-12-03
Effective Standard C++ Library: Explicit Function Template Argument Specification and STL A New Language Feature and Its Impact on Old Programming Techniques Klaus Kreft and Angelika
Time of Update: 2018-12-03
考慮一個完整的XML Parser一般由幾部分組成:必要組件:1. DOM 介面定義,以及DOM MODEL的實現。2. 一個XML詞法分析器,用於將XML字元流轉換成TOKEN流。3. 一個XML PARSER,將TOKEN流組織成DOM MODEL.4. 一套在DOM NODE中遍曆的資料結構和演算法,NodeIterator,TreeWalker.5. 一個DTD的詞法分析器和DTD PARSER.6. 一個XPATH運算式語言的編譯器,將XPATH運算式編譯成AST樹。7.
Time of Update: 2018-12-03
因公司安排參加了2天C++的培訓,孟岩老師的主講。 課講的很好,第一天是一些C++的一些原理,如對象記憶體布局,多重繼承,等等,第二天主要是STL和範型。內容不少,講的也很透徹,很久沒有這麼探究C++的理論,咋聽之下,感覺還是不錯的。 唯一的遺憾是,好像現在C++領域除了這些東西以外,好像真的是找不到新的課題了。關於C++的物件版面配置,在lipman的書裡,早就講的清清楚楚了;STL方面的好書更是不少;模板吧,<<Modern C++
Time of Update: 2018-12-03
/*! * \b author: Peng Futian * * \b Date: 2011-07-30 * * \b Description: 將enum封裝在struct中,並且設定enum的名字 * 用法: * 類型定義,為了與數組中的名字對應,元素值應該用系統預設的設定,從0開始 * DECLARE_MV_ENUM(FileShare, 10) * Read, * Write, * END_DECLARE_MV_ENUM() * *
Time of Update: 2018-12-03
zookeeper 3.3.3 在Redhat 上編譯時間,會有下面的錯誤 ../../../include/zookeeper/recordio.h:70: error:expected unqualified-id before ‘__extension__’../../../include/zookeeper/recordio.h:70: error:expected `)' before ‘__extension__’../../..
Time of Update: 2018-12-03
在標準C和C++中,長度為0的數組是被禁止使用的。不過在GNUC中,存在一個非常奇怪的用法,那就是長度為0的數組,比如Array[0];很多人可能覺得不可思議,長度為0的數組是沒有什麼意義的,不過在這兒,它表示的完全是另外的一層意思,這個特性是不可移植的,所以,如果你致力於編寫可移植,或者是稍稍需要跨平台的代碼,這些Trick最好還是收合來的好。在GNU的指南中,它是如此寫道: struct line { int length; char contents[0];};//
Time of Update: 2018-12-03
/*** @file GM_BTree.h* @brief * @author Don Hao* @date 2011-8-22 21:51:35* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company:
Time of Update: 2018-12-03
/*** @file GM_BSort.h* @brief 冒泡排序* @author Don Hao* @date 2011-8-23 19:55:56* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company: <
Time of Update: 2018-12-03
原文地址:http://rest.elkstein.org/Learn REST: A Tutorial 發送HTTP GET請求兩個主要的類是System.net中的HttpWebRequest和HttpWebResponse。下面的方法發送一個請求,並且返回一個長字串:static string HttpGet(string url) { HttpWebRequest req = WebRequest.Create(url) as
Time of Update: 2018-12-03
fwrite函數函數功能:寫資料區塊函數調用形式:fwrite(buffer, size, count, fp);函數說明:fread函數函數功能:讀資料區塊函數調用形式:fread(buffer, size, count, fp);函數說明:/*fwriteDemo*/#include <stdio.h>#include <iostream>int main(){FILE *fp;char buff[100] = "Hello World.";fp =
Time of Update: 2018-12-03
/*** @file GM_ISort.h* @brief 實現插入排序* @author Don Hao* @date 2011-8-22 19:46:19* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company:
Time of Update: 2018-12-03
/*** @file GM_QSort.h* @brief 實現快速排序* @author Don Hao* @date 2011-8-21 22:31:06* @version * <pre><b>copyright: </b></pre>* <pre><b>email: </b>hao.limin@gmail.com</pre>* <pre><b>company:
Time of Update: 2018-12-03
c++是一種優秀的語言,我們從語言的角度上面來講,這是一個很多人都比較同意的說法,所以,我也選擇了c++.
Time of Update: 2018-12-03
用C實現自己的memcpy先後給出一段代碼 #include <stdio.h>#include <iostream>using namespace std;void* mymemcpy( void *dest, const void *src, size_t count ){ char* pdest = static_cast<char *>(dest); const char* psrc = static_cast<const char
Time of Update: 2018-12-03
例一:#include <stdio.h>void f(int a);void f(long a);void f(char a);int main(int argc,char *argv[]) { double value = 65.01; f(value); return 0; }void f(int a){ printf("int value=%d/n", a);}void f(long a){ printf("long value=%d/n", a);}void f(char
Time of Update: 2018-12-03
xerces介紹Xerces-C++ 的前身是 IBM 的 XML4C 項目。XML4C 和 XML4J 是兩個並列的項目,而 XML4J 是 Xerces-J——Java 實現——的前身。IBM 將這兩個項目的原始碼讓與 Apache 軟體基金會(Apache Software Foundation),他們將其分別改名為 Xerces-C++ 和 Xerces-J。這兩個項目是 Apache XML 組的核心項目(如果看到的是“Xerces-C”而不是“Xerces-C++”,也是同一個東西,
Time of Update: 2018-12-03
問題引入在C中,函數先定義,後使用。舉個簡單的例子/************************* add by oscar999************************/func1(){ printf("this is func1!\n");}void main(){ func1();}定義了一個簡單的函數func1, 調用的時候只需要"函數名()"
Time of Update: 2018-12-03
java,c#程式設計語言編寫的程式之間是可以互相操作的。用java寫的Socket聊天功能的服務端和用戶端之間,和用C#編寫的Socket聊天功能的服務端和用戶端之間是可以相互連信的。簡單的說就是,把C#的服務端跑起來的話,用java的用戶端同樣可以和這個服務端通訊。這個觀點其實並不難理解,只是我們在使用程式設計語言的時候,一般都比較會被程式設計語言的API所限制。
Time of Update: 2018-12-03
/**//**模組名稱:行狀態展示*實體名稱:*建立者:Fung*建立時間:*修改者:*修改時間:2006-12-18*說明:本程式為C#2005控制台程式; * 示範了資料表內資料變化的各種狀態。*/using System;using System.Collections.Generic;using System.Text;using System.Data;namespace DataRowState...{ class Program ...{ stat