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

公众号链接电影网站怎么做网站如何做反爬

公众号链接电影网站怎么做,网站如何做反爬,企业网站管理系统有哪些,什么浏览器可以看违规网站当编写一个模板特化,涉及部分但不是全部模板参数时,它被称为偏特化(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/325623/

相关文章:

  • 韩国电信 网站网站底部浮动代码
  • 百度智能建站系统福州快速优化排名
  • 制作网站的心得江西赣州
  • 做营销型网站的企业哪有做企业网站
  • 关于做一动物网站的界面个wordpress同标题关键字
  • 网站建设管理系统免费网站商务网站的类型一共有几大类
  • 漳州那里有做网站支持html5的网站
  • 怎么做网站推销自己的产品宁国新站seo
  • 网站商城开发一个多少钱温州 网站优化
  • 快速网站优化技巧云南大学做行测的网站
  • 中国化工建设协会网站连云港企业网站建设公司
  • 淘宝单网站建设沈阳市城乡建设局网站首页
  • 体育局网站建设做网站 需求怎么写
  • 丰富网站内容微信小程序推广赚佣金
  • 有什么做动图比较方便的网站莞城仿做网站
  • 从电子商务网站f型眼球轨迹分析其网站布局dedecms 购物网站
  • 工信网备案网站自己怎么制作一个网站
  • 物流货运网站网站推广建设策略
  • 西部数码网站管理助手 没有d盘在线制作网站源码
  • 花生壳域名直接做网站温州 网站建设公司
  • 网站建设数据库的链接网站排名优化培训哪家好
  • 佛山网站建设4-win方维优质做网站价格
  • 网站建设素材网页公司网址大全
  • 东莞网站空间我想做代理怎么找厂家
  • 企业网站建设 管理 维护 请找阿里网站制作需要多少钱
  • 做医药行业找药的网站建工网校和环球网校哪个好
  • 临西网站建设价格个人网站建设需要多少钱
  • 网站被k了wordpress 右侧广告
  • 中山网站建设收费标准简单易做的网站
  • 哪个网站有做阿里巴巴流量个人简历怎么写简短又吸引人