<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>pandaxcl的专栏--我的网站开站啦：http://www.autodev.net - 模板元程序</title><link>http://blog.csdn.net/pandaxcl/category/188994.aspx</link><description>一些模板元程序设计的文章</description><dc:language>zh-CN</dc:language><lastUpdateTime>Tue, 05 Feb 2008 12:51:10 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>pandaxcl</dc:creator><title>自动化C++程序设计---基础篇_分析C++重载函数(3)--存在的问题</title><link>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840324.aspx</link><pubDate>Tue, 23 Oct 2007 21:58:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840324.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/1840324.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840324.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/1840324.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1840324</trackback:ping><description>从前面的代码还可以看出，应用any的过程中还是有比较大的限制。例如当多个重载函数的第一个参数类型相同的时候，虽然后续的参数类型不同，是合法的C++重载函数，但是 any就不知道该转型为那一个，从而产生了编译错误：）本文就给出了几种解决这种难题的方法：）&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/1840324.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>自动化C++程序设计---基础篇_分析C++重载函数(2)--分析函数参数的种类</title><link>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840317.aspx</link><pubDate>Tue, 23 Oct 2007 21:55:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840317.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/1840317.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840317.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/1840317.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1840317</trackback:ping><description>在上一篇文档中提到了分析函数参数数量的方法，现在就来解决更深层次的问题：这些数量的函数参数具体是什么类型的？本文就给出了一个比较统一的方法实现了采用C++模板语言分析出类域中的某个函数的参数具体是什么！&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/1840317.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>自动化C++程序设计---基础篇_分析C++重载函数(1)--分析函数参数的数量</title><link>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840311.aspx</link><pubDate>Tue, 23 Oct 2007 21:52:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840311.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/1840311.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840311.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/1840311.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1840311</trackback:ping><description>在分析C++代码的时候，特别是分析C++函数（仿函数）的时候，若是能够分析出在一个名字空间（类域）里面的指定函数名称的函数的参数的数量将会是非常有用的：）这一章就对这个问题进行详细的分析。&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/1840311.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>自动化C++程序设计---分析C++类结构</title><link>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840308.aspx</link><pubDate>Tue, 23 Oct 2007 21:49:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840308.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/1840308.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840308.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/1840308.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1840308</trackback:ping><description>本文采用C++语言自身的模板语言实现了分析C++类结构的功能。C++类结构的内容包括：
1.类是否拥有指定参数的成员函数
2.类是否存在指定名称的成员函数
3.类是否存在指定名称的成员变量
4.类是否存在指定名称的子类（型）
&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/1840308.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>自动化C++程序设计---分析C++类层次</title><link>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840299.aspx</link><pubDate>Tue, 23 Oct 2007 21:45:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840299.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/1840299.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840299.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/1840299.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1840299</trackback:ping><description>本文介绍了采用C++的模板技术，可以实现C++语言自己分析自己的类层次结构：）可以分析出某个类的基类是什么，是不是很神奇啊；）&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/1840299.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>自动化C++程序设计---C++里的模板语言</title><link>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840294.aspx</link><pubDate>Tue, 23 Oct 2007 21:42:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840294.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/1840294.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2007/10/23/1840294.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/1840294.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1840294</trackback:ping><description>介绍通过C++中的模板，可以表达为一种计算机语言的原理：）拥有整数加减乘除四则运算，选择结构和循环结构：）具备有通用编程语言具备的基本结构，从而构成了语言结构，本文只是解释前述结构的实现方式；）&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/1840294.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>C++自动化(模板元)编程基础与应用(6)</title><link>http://blog.csdn.net/pandaxcl/archive/2006/04/24/675588.aspx</link><pubDate>Mon, 24 Apr 2006 19:55:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2006/04/24/675588.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/675588.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2006/04/24/675588.aspx#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/675588.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=675588</trackback:ping><description>在上一章里面讨论了代码的自动生成机制，经常会遇到根据不同的类型选择不同的操
作的情况，也就是静态分派的问题。这就需要有一种机制用来识别不同的类型，在本章里面将会系统的讨论C++里面可用的类型识别问题。

&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/675588.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>C++自动化(模板元)编程基础与应用(5)</title><link>http://blog.csdn.net/pandaxcl/archive/2006/04/20/670074.aspx</link><pubDate>Thu, 20 Apr 2006 09:41:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2006/04/20/670074.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/670074.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2006/04/20/670074.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/670074.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=670074</trackback:ping><description>在上一篇文章里面讨论了C++里面的代码生成技术，使用的是scatter，不过上一篇文章里面也提到了，前一篇文章里面讨论的代码生成模板scatter使用的类型串绝对不允许重复。其实上一篇中的scatter使用由重复的类型的类型串也是能够正常生成代码的，不过产生的代码却不能将类型重复的变量分辨出来，这样生成的代码就没有了什么实际意义，所以在这一章中将要解决的问题是：重新编写一个可以使用重复类型的类型串生成代码，并且能够采用一定的方法将这些生成的变量分辨出来。

&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/670074.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>C++自动化(模板元)编程基础与应用(4)</title><link>http://blog.csdn.net/pandaxcl/archive/2006/04/18/667645.aspx</link><pubDate>Tue, 18 Apr 2006 12:04:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2006/04/18/667645.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/667645.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2006/04/18/667645.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/667645.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=667645</trackback:ping><description>这一章，我们将要开始的讨论C++里面的代码生成技术。说起代码生成技术，实际上这并不是C++的专利，作为C++子集的C语言早就已经使用了一定的代码生成技术，这就是C宏。我想C宏大家应该非常熟悉了吧，特别是能够实现带参数的宏使得大量的库利用这种技术来生成那些格式重复的代码，例如：微软的MFC库，跨平台的GUI库wxWidget，Boost库等等都使用了C宏。虽然C宏在这些库里面扮演了非常重要的角色，并且仍将扮演非常重要的角色，但是也不得不说：C宏存在着很大的问题。最基础的就是类型不安全性，这也是C++里面出现模板语素的一个比较重要的原因。更重要的是使用C宏生成的代码仅仅只是实现了简单的格式填空能力，并不能表达特定的算法。正是C宏的表达设计思想的不足限制了C宏的使用范围。这就是模板元发挥威力的时候了，见文章:)

&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/667645.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>C++自动化(模板元)编程基础与应用(3)</title><link>http://blog.csdn.net/pandaxcl/archive/2006/04/17/666879.aspx</link><pubDate>Mon, 17 Apr 2006 20:17:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2006/04/17/666879.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/666879.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2006/04/17/666879.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/666879.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=666879</trackback:ping><description>在这一章里面对前面的模板元编程的过程进行了总结，其中静态循环过程只能够直接操纵整数类型，但是C++模板元自动化编程需要静态循环过程能够操作类型数据而不是整数，在这一章中就成功的实现了利用前一章里面的LOOP静态循环间接实现了这种类型的遍历过程。这种遍历过程的实现也是为下一章的自动生成的代码实现任意的操作而准备的。这是理论走向实践的关键所在。&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/666879.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>C++自动化(模板元)编程基础与应用(2)</title><link>http://blog.csdn.net/pandaxcl/archive/2006/04/16/665899.aspx</link><pubDate>Sun, 16 Apr 2006 22:01:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2006/04/16/665899.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/665899.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2006/04/16/665899.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/665899.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=665899</trackback:ping><description>在上一篇文章的最后提到了一个相对来说通用一点的LOOP循环，在本篇中详细介绍了一个比较通用的LOOP静态循环的演化过程，通过这个过程可以比较清晰的理解模板是怎样一步一步的实现循环过程的，其中还包括了一些常用的C++技术，例如：通过外加一层包裹层来解决问题的方法等等。通过阅读本文，可以在具体的应用中实现你想要的任何静态循环过程，这里介绍的是一种比较通用的方法，主要是起到抛砖引玉的效果:)
&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/665899.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>C++自动化(模板元)编程基础与应用(1)</title><link>http://blog.csdn.net/pandaxcl/archive/2006/04/16/665409.aspx</link><pubDate>Sun, 16 Apr 2006 13:45:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2006/04/16/665409.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/665409.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2006/04/16/665409.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/665409.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=665409</trackback:ping><description>大家都知道C++是一们计算机语言，这一点也没错，但是你知道C++里面还包含了另外一种子语言么？呵呵，恐怕知道的人就不多了，会用的人就更少了。但是既然经过了这么多年的发展，C++语言里面出现了这种子语言（模板）自然有它的根源的，这一点并不是本文中将要讨论的，如果想了解C++的发展例程，可以参见相关的文献。


&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/665409.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>pandaxcl</dc:creator><title>自动化C++程序设计</title><link>http://blog.csdn.net/pandaxcl/archive/2006/04/14/663794.aspx</link><pubDate>Fri, 14 Apr 2006 18:38:00 GMT</pubDate><guid>http://blog.csdn.net/pandaxcl/archive/2006/04/14/663794.aspx</guid><wfw:comment>http://blog.csdn.net/pandaxcl/comments/663794.aspx</wfw:comment><comments>http://blog.csdn.net/pandaxcl/archive/2006/04/14/663794.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.csdn.net/pandaxcl/comments/commentRss/663794.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=663794</trackback:ping><description>在通常的编程问题中经常会遇到使用宏的情况，但是在很多的情况下C宏又非常的不方便，在自动化编程方面，使用宏就非常不方便了，甚至不可能了，下面我们将要考虑一个C宏不可以做到的事情如何使用模板元编程来实现。在本文中将会以一个具体的例子展示这种自动化方法，希望能够起到抛砖引玉的效果:)

&lt;img src ="http://blog.csdn.net/pandaxcl/aggbug/663794.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>