摘要: typedef int (*PF)(const char* , const char*);PF Register(PF pf);等价于:int (*Register (int (*pf)(const char *, const char *))) (const char *, const char *);Register是个函数指针,其参数是个返回int型的函数指针pf,pd参数为(const char*, const char*) Register函数指针的返回值又是个函数指针,返回值的函数指针的参数是(const char*, const char*),返回值是int 唉………… 用typ 阅读全文
posted @ 2011-11-27 23:25 visayafan 阅读(1703) 评论(0) 推荐(0) 编辑
摘要: Table of Contents1 模板参数推导在迭代器中的使用 2 模板参数引用与非引用的区别 1 模板参数推导在迭代器中的使用在算法中运用迭代器时,可能会用到其相应类型(associative type),即迭代器所指向对象的类别。但C++只支持sizeof(),并不存在typeof()之说(即使运用RTTI性质中的typeid()获得的也只是类型名称不能用来做变量声明之用)。为解决此问题,可以利用函数模板(function template)的参数推导(argument deduction)机制:template <class I, class T>void fun_imp 阅读全文
posted @ 2011-11-27 22:56 visayafan 阅读(7680) 评论(1) 推荐(1) 编辑
摘要: It is also possible to define a member template function. Let's look at an example and then walk through it:class PrintIt { public: PrintIt( ostream &os ) : _os( os ){} // a member template function template <typename elemType> void print( const elemType &elem, char delimi... 阅读全文
posted @ 2011-11-27 22:14 visayafan 阅读(1768) 评论(0) 推荐(0) 编辑
摘要: 不翻译了,比较简单。这个 《ANSI/ISO C++ Professional Programmer's Handbook 》是这样说的 explicit Constructors A constructor that takes a single argument is, by default, an implicit conversion operator, which converts its argument to an object of its class (see also Chapter 3, "Operator Overloading"). Exa 阅读全文
posted @ 2011-11-27 22:06 visayafan 阅读(664) 评论(0) 推荐(0) 编辑