当前位置: 首页 > news >正文

成都网站设计精选柚v米科技广告发布合同

成都网站设计精选柚v米科技,广告发布合同,网站怎么做舆情监测,学院网站建设进度情况说明当编写一个模板特化,涉及部分但不是全部模板参数时,它被称为偏特化(Partial Specialization)。【注意,偏特化是针对类模板而言,函数模板不可偏特化,只能全特化】 偏特化是C模板编程中的一种技术…

当编写一个模板特化,涉及部分但不是全部模板参数时,它被称为偏特化(Partial Specialization)。【注意,偏特化是针对类模板而言,函数模板不可偏特化,只能全特化】
偏特化是C++模板编程中的一种技术,允许为特定类型或特定类型组合的模板参数创建专门的模板定义。这使得可以根据模板参数的特定属性或组合来定制模板的行为,从而提供更灵活和定制化的解决方案。

在偏特化中,可以保留模板参数中的一部分,而将另一部分替换为特定的类型或模式。这使得可以为不同的参数提供不同的实现,以满足特定的需求或条件。

偏特化在处理复杂的模板类型时特别有用,例如嵌套模板或带有多个模板参数的模板。通过偏特化可以根据具体情况对模板进行定制,而无需完全重新实现整个模板。

总的来说,偏特化是C++模板编程中的一项重要技术,允许根据特定的模板参数定制模板的行为,从而提供更灵活和高效的解决方案。

开始偏特化时,使用一个模板头列出没有特化的模板参数,然后定义特化。与完全特化一样,通过列出所有模板参数来命名要特化的类。一些模板参数取决于特化的参数,而另一些则使用特定值。

与完全特化一样,特化的定义完全替换了特定一组模板参数的主模板。按照惯例,保持相同的接口,但实际的实现不要求与原始模板一致。

偏特化示例:

#include <iostream>
#include <vector>/* 1. 原始模板 */
template<class T, class U>
class Rational{
public:// Delegating ConstructorRational(): Rational(0){std::cout << __PRETTY_FUNCTION__ << std::endl;}Rational(T num): numerator_(num), denominator_(1){std::cout << __PRETTY_FUNCTION__ << std::endl;}Rational(T num, U den): numerator_(num), denominator_(den){std::cout << __PRETTY_FUNCTION__ << std::endl;}virtual ~Rational(){std::cout << __PRETTY_FUNCTION__ << std::endl;}T numerator()const{return numerator_;}U denominator()const{return denominator_;}template<class V>V calculate();private:T numerator_;U denominator_;
};template<class T, class U>
template<class V>
V Rational<T,U>::calculate(){return static_cast<V>(numerator_) / static_cast<V>(denominator_);  // omit divided by zero
}/* 2. Partial Specialization,特化U为float */
template<class T>
class Rational<T, float>{
public:// Delegating ConstructorRational(): Rational(0){std::cout << __PRETTY_FUNCTION__ << std::endl;}Rational(T num): numerator_(num), denominator_(1){std::cout << __PRETTY_FUNCTION__ << std::endl;}Rational(T num, T den): numerator_(num), denominator_(den){std::cout << __PRETTY_FUNCTION__ << std::endl;}virtual ~Rational(){std::cout << __PRETTY_FUNCTION__ << std::endl;}T numerator()const{return numerator_;}float denominator()const{return denominator_;}template<class V>V calculate();private:T numerator_;float denominator_;
};template<class T>
template<class V>
V Rational<T,float>::calculate(){return static_cast<V>(numerator_) / static_cast<V>(denominator_);  // omit divided by zero
}/* 3. Partial Specialization,特化T为float */
template<class U>
class Rational<float,U>{
public:// Delegating ConstructorRational(): Rational(0){std::cout << __PRETTY_FUNCTION__ << std::endl;}Rational(float num): numerator_(num), denominator_(1){std::cout << __PRETTY_FUNCTION__ << std::endl;}Rational(float num, U den): numerator_(num), denominator_(den){std::cout << __PRETTY_FUNCTION__ << std::endl;}virtual ~Rational(){std::cout << __PRETTY_FUNCTION__ << std::endl;}float numerator()const{return numerator_;}U denominator()const{return denominator_;}template<class V>V calculate();private:float numerator_;U denominator_;
};template<class U>
template<class V>
V Rational<float,U>::calculate(){return static_cast<V>(numerator_) / static_cast<V>(denominator_);  // omit divided by zero
}int main() {Rational<float,int> r1;Rational<int,float> r2;Rational<int,int> r3;Rational<double,double> r4;//Rational<float,float> r5;  // 此句报错error: ambiguous template instantiation for 'class Rational<float, float>'
}
http://www.yayakq.cn/news/15835/

相关文章:

  • 电子商务网站建设与维护考试题宁德网站建设51yunsou
  • 网站群建设工作网站建设免费按词收费
  • 安阳企业网站建设公司购物网站建设源码
  • 专业购物网站建设报价商业网站开发岗位需求分析
  • 门户网站 模板杭州专业的网站制作成功案例
  • 门户网站建设方案ppt冯耀宗seo博客
  • 外部网站跳转小程序全国备案网站数量
  • 怎么给网站做关键词排名罗源城乡建设网站
  • 传统企业营销型网站建设做电影网站程序哪个好
  • 精品课网站怎么做wordpress删除用户下所有文章
  • 网站右侧 回到顶部wordpress不支持apk
  • 产品展示的手机网站希音跨境电商官网
  • 网站开发ppt模板可信网站认证必须做
  • 台州建设局网站信息价成都网站建设麦格思
  • 昆明网站快速优化排名对于网站建设的调查问卷
  • 爱用建站下载针织东莞网站建设技术支持
  • WordPress插件引入seo零基础教学视频
  • 网站空间 默认文档wordpress中文语言包下载
  • 中山网站建设制作资源网站源码下载
  • 网站群建设公司排行榜企业宣传标语
  • 网站建设大约多长时间服装设计公司名称
  • 网站建设四川推来客网站系统电子商务网站建设策划书例子
  • 门户网站个人可以做吗wordpress主页加音乐
  • 网站建设数据的需求分析新建一个公司官网
  • 网站设计 专业广州公司注册地址可以是住宅吗
  • 专业做网站的公司网站建设哪家好采用苏州久远网络
  • 网站宣传片的创意网络营销计划的七个步骤
  • 童装网站建设目标北京计算机培训机构前十名
  • 网站企业有哪些网络科技公司网站建设策划
  • 网站经常被攻击广州优秀网站建设