摘要:
在上节的代码中,构造函数AccT()不一定会返回一个符合条件的值,而且类型AccT也不一定具有一个缺省的构造函数。我们可以再次使用trait来解决这个函数。//accumtraits3.htemplate<typename T>class AccumulationTraits;template<>class AccumulationTraits<char>{public: typedef int AccT; static AccT const zero = 0;};template<>class AccumulationTraits<sho 阅读全文
摘要:
要求:编写一个能适合许多类型的模板来完成一个累加操作解答1://定义一个模板函数#ifndef ACCUM_H#define ACCUM_Htemplate<typename T>inlineT accum(T const* beg,T const* end){ T total=T();//假设T()事实上会产生一个等于0的值 while(beg != end) { total += *beg; ++beg; } return total;}#endif解析:上面的代码,有两个问题:(1)如何正确生成一个0值,以便开展我们的求和过程。(... 阅读全文