2011年3月18日

Typelists(一)

摘要: 实现部分 Typelists.h //想想看一个std::pair变量能够拥有无数的变量//如果元素不是变量而是类型,会是什么景象呢?template<class T, class U>struct TypePair{ typedef T First; typedef U Second;};//如同c字符串,使用一个人为定义的空类来作为结束struct NullType;//方便使用,定义出不同数... 阅读全文

posted @ 2011-03-18 21:48 Observer 阅读(309) 评论(0) 推荐(0) 编辑

编译期间侦测可转换性和继承性

摘要: 如何发现类型A可以隐式转换成为类型B,归根结底都落在了函数形参的匹配上,无论是明白的函数调用或是operator =的使用。如果一个接受类型B的函数可以接受A,那就说明了问题。如何知道两者调用了相同的函数(运行期)或者说如何知道两者决定调用相同的函数(编译期)。在运行期检查的方式简直多如牛毛,但是如何在编译期就检查出来呢?这还不容易,就仅仅定义一个这个函数,如果可以转化就通过编译,如果不能转化就报... 阅读全文

posted @ 2011-03-18 14:06 Observer 阅读(325) 评论(0) 推荐(0) 编辑

导航