C++ RTTI: 2個宏實現“根據對象名建立對象”

1. 問題提出:C++ RTTI缺乏一些運行時資訊,無法根據對象名直接建立對象。所以MFC為了實現序列化,從頭構造了自己的RTTI資訊,並定義了一整套宏。具體可以參考MFC源代中一下類和宏的實現:CRuntimeClass, CObject, DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC2. 需求:個人正在寫一個做整合測試的工具,有一個設定檔,用於指定哪些CASE需要被測試到,內容大致如下:<ut>     <case name="case1"/>

強大免費的C++跨平台影像處理庫 ImageStone V2.0 發布

http://www.codeproject.com/bitmap/ImageStone.aspImageStone是一套功能強大的C++影像處理庫,它可以在多個平台之間移植。功能包括:讀寫影像檔(JPG,GIF,PNG,TIFF,TGA...),顯示,柱狀圖分析,undo/redo支援,超過100種預定義的特效等。裡面有全部的源碼和詳細的協助文檔加9個例子程式,其中example 008是一個比較完善的影像處理程式。

C++ Template: 模板參數傳遞中的切片問題

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

用C++實現一個XML parser的必要工作。

考慮一個完整的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.

zookeeper 3.3.3 C 編譯的問題及解決

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__’../../..

一起來學REST(12.1)——C#中使用REST

原文地址: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

C/C++實現插入排序

 /*** @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:

C/C++實現快速排序

 /*** @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:

c++函數重載二義性

例一:#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

linux安裝xml開發包xerces-c

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++”,也是同一個東西,

C#DataViewRowState一個資料表的資料狀態樣本

/**//**模組名稱:行狀態展示*實體名稱:*建立者:Fung*建立時間:*修改者:*修改時間:2006-12-18*說明:本程式為C#2005控制台程式; *     示範了資料表內資料變化的各種狀態。*/using System;using System.Collections.Generic;using System.Text;using System.Data;namespace DataRowState...{    class Program    ...{        stat

C#應用程式—-系統托盤

1.建立一個表單2.在工具箱中找到三個控制項分別是(mainMenu1,contextMenu1,notifyIcon1)mainMenu1控制項用於建立菜單contextMenu1控制項用於建立右擊菜單notifyIcon1控制項用於建立托盤的表徵圖3選中表單在將屬性Menu設成mainMenu1,然後在表單上建立功能表項目4設定notifyIcon1的ContextMenu屬性將它設成contextMenu1用於右擊(還有其它屬性可以自己測試)5在Form_Load中寫代碼用於為contex

C#冒泡法 斐波那契

 冒泡法 private void show(int[] obj)    ...{        int i = 0;        int j = 0;        int tmp = 0;        for (i = 0; i < obj.Length; i++)        ...{            for (j = 0; j < obj.Length - i - 1; j++)            ...{                if (obj[j] 

c彙編指令的產生

主要的程式如下:  根據四元式產生彙編指令的關鍵是標號的產生struct node6{ int L;//判斷是否需要標誌符 int num;//標誌符號 char op[10];//操作符 char arg1[10];//運算元1 char arg2[10];//運算元2};四元式的格式如下輸出格式:行號,四元式(操作,運算元,運算元,結果)。(1):    (=,3,-,i).(2):    (j<,i,7,4).(3):    (j,-,-,11).(4):    (j<,i,3

在C/C++代碼中使用SSE等指令集的指令(5)SSE進行加法運算簡單的效能測試

下面是一個簡單的測試SSE指令效能的程式,可以看到明顯的效能提升。(說明:程式中的timing.h使用的是http://blog.csdn.net/gengshenghong/article/details/6973086中介紹的時間間隔擷取方法)#define WIN#include "timing.h"#include <intrin.h>#include <stdlib.h>#include <math.h>#define N 4*100000//

Win8探索學習筆記(3)基於C++的metro程式基礎

本來打算像上一篇一樣看看基於C++的Metro程式都有些什麼內容的,據說Metro支援native c++,結果。。。尼瑪昨天建立一個c++ metro工程都可以跑的,今天就見鬼了,隨便建一個c++工程自己都編譯不過去,尼瑪VS11的bug也太多了。看了看預設產生的c++代碼,裡面什麼partial ref的,應該都是託管c++才有的關鍵字吧?(PS:不熟悉託管c++,所以不太清楚如何知道一段代碼屬於託管c++。)懷疑:MS的C++

Linux下C語言編譯過程(windows類似)

同類參考:http://anony3721.blog.163.com/blog/static/51197420114173238237/(聲明:下面的部分內容和圖片轉載於此頁面)http://hi.baidu.com/fwy434822/blog/item/c6289e3541f6271590ef391e.htmlhttp://www.chineselinuxuniversity.net/articles/33950.shtmlhttp://tieba.baidu.com/f?kz=663104

BDB(C) Getting Started – Introduction to Berkeley DB

參考:<installdir>/docs/gsg/C/index.html 或對應的PDF文檔1. BDB中的概念說明:BDB是value/key資料庫,並不是關聯式資料庫。下面是BDB中的幾個重要概念:records: 邏輯上,每一個記錄表示了資料庫的一個入口。每一個record包含了兩個資訊:key和data。access methods: 存取方法,Berkeley給使用者提供了多種存取方法,供使用者根據自己的需求來選擇合適的方法來組織資料庫的資料。一般選擇存取方法有兩個原則:

在C/C++代碼中使用SSE等指令集的指令(2)參考手冊

http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/index.htm#intref_cls/common/intref_bk_sse.htmhttp://www.tommesani.com/Docs.htmlIntel架構開發人員手冊:裡面有很多和架構、指令集、最佳化等相關的手冊文檔http://www.intel.com/content/www/us/en/p

PS色調均化濾鏡的快捷實現(C#原始碼)。

  photoshop色調均化功能通常是在進行修片處理前期比較常用的功能之一,其對擴充映像的對比,增強視覺效果有一定的作用。在很多課本或者文章中,也稱這種處理為灰階均衡化、長條圖均衡化等等。演算法原理都是對原始映像統計其長條圖,然後通過累計分布函數,重新隱射長條圖資料,使每個色階的的分布機率都往一致的方向調整。我看到的網路上的代碼,抑或是一些教材中的代碼,對這個過程的描述都是相當的冗餘,要麼是代碼累贅,效率低下,要麼是蘿莉囉唆,很是難受。   在給出My

總頁數: 4314 1 .... 2758 2759 2760 2761 2762 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.