侯捷 C++ part2 兼谈对象模型笔记——4 specialization 特化

news2025/2/26 14:20:51

4. specialization 特化

4.1 全特化 full specialization

模板是泛化,特化是泛化的反面,可以针对不同的类型,来设计不同的东西

  • 其语法为template<> struct xxx<type>
template<>
struct hash<char>
{
...
    size_t operator()(char& x) const {return x;}
};

template<>
struct hash<int>
{
...
	size_t operator()(int& x) const { return x; }
};
  • 这里编译器就会用 int 的那段代码;注意:hash<int>() 是创建临时变量
cout << hash<int>()(1000)

4.2 偏特化 partial specialization

4.2.1 个数上的偏

例如:第一个模板参数我想针对 bool 特别设计

image-20230807155256372

注意绑定模板参数不能跳着绑定,需要从左到右

4.2.2 范围上的偏

例如:想要当模板参数是指针时特别设计

image-20230807160122944
C<string> obj1; //编译器会调用上面的
C<string*> obj2; //编译器会调用下面的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/862723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

window7 安装JDK17下载安装

1、下载JDK JDK下载官网&#xff1a;https://www.oracle.com/ 2、安装JDK 双击打开下载好的JDK进入安装界面 选择安装的位置 等待安装成功 安装成功 3、环境变量配置 右键此电脑选择属性选择高级系统设置&#xff08;展示是win7系统&#xff0c;win10也有仔细找找&#xff09;…

优思学院|质量第一的目的是什么?

国外有一句很著名的话&#xff1a;Quality comes first, profit is its logical sequence&#xff0c;意思是&#xff1a;质量第一&#xff0c;利润是其合理的结果&#xff0c;这句话也是很多公司或者商店使用的标语。 简而言之&#xff0c;只要你把质量放在第一位&#xff0c…

C语言 冒泡排序

目录 一、原理 二、代码演示 三、代码优化 一、原理 假设&#xff1a; int arr[] { 9,8,7,6,5,4,3,2,1,0 }; 将 arr 内的元素进行升序排列&#xff0c;得到一个新的数组 int arr[] { 0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;…

数字经济时代,如何加强应用数据保护?

在数字经济时代&#xff0c;加强应用数据保护对于个人和组织来说至关重要。以下是一些加强应用数据保护的建议&#xff1a; 合规法律法规&#xff1a;了解并遵守适用于您所在地区或行业的数据保护法律法规。这包括个人隐私保护法、数据安全法等。 安全意识培训&#xff1a;为组…

Simulink仿真模块 - Trigonometric Function

Trigonometric Function:指定应用于输入信号的三角函数 在仿真库中的位置为:Simulink / Math Operations HDL Coder / Math Operations 模型为: 双击模型打开参数设置界面,如图所示: 说明 Trigonometric Function 模块执行常见的三角函数,并以 rad 为单位输出结…

京东h5滑块

大表哥们我又来了&#xff0c;今日话题&#xff1a;凑字数水文章。 今天来看看这个h5的滑块&#xff0c;老早之前写过一篇关于京东手势验证的&#xff0c;链接在这&#xff0c;大家感兴趣可以去看看。 京东手势验证_某东滑块_逆向学习之旅的博客-CSDN博客 这个怎么讲&#xf…

2023年第2季社区Task挑战赛升级新玩法,等你来战!

第1季都有哪些有趣的作品&#xff1f; 在大家的共建下&#xff0c;FISCO BCOS开源生态不断丰富完善&#xff0c;涌现了众多实用技术教程和代码&#xff1a;基于数字身份凭证的业务逻辑设计&#xff0c;贡献了发放数字身份凭证的参考实现&#xff1b;提供企业碳排放、慈善公益等…

linux4.0新增32位ARM的系统调用

修改内核源码 Linux系统为每一个系统调用赋予一个系统调用号。当应用程序执行一个系统调用时&#xff0c;应用程序就可以知道执行和调用到哪个系统调用了&#xff0c;从而不会造成混乱。系统调用号一旦分配之后就不会有任何变更&#xff0c;否则已经编译好的应用程序就不能运行…

10个牛逼的编程范式,你已经用过了几个?

《10个牛逼的编程范式&#xff0c;你已经用过了几个&#xff1f;》 编程范式是计算机编程中的基本思想和方法论&#xff0c;它描述了不同的编程风格和抽象层次。随着计算机科学的不断发展&#xff0c;编程范式也在不断演进和扩展&#xff0c;从最早的命令式编程到面向对象、声明…

VTK学习笔记(二十一)

显示立方体已经做过了&#xff0c;现在想简单处理一下立方体&#xff0c;比如每个面上增加一些文字。效果如下。 #include <vtkAnnotatedCubeActor.h> #include <vtkCamera.h> #include <vtkNamedColors.h> #include <vtkNew.h> #include <vtkPrope…

连续两年增收不增利,比亚迪电子靠新能源汽车业务再次起飞?

在净利润连续两年下挫之后&#xff0c;比亚迪电子&#xff08;00285.HK&#xff09;终于迎来了好消息。 不久前比亚迪电子发布2023年中期盈利预告显示&#xff0c;上半年净利润同比增加115%-146%&#xff08;2022年上半年的净利润显示6.34亿元&#xff09;。 这主要受益于大客…

H5 防止安卓手机软键盘弹出挤压页面导致变形的方法

一、问题&#xff1a; 在做移动端h5页面时&#xff0c;安卓端软键盘会导致页面压缩变形的问题&#xff1a;&#xff08;安卓端有问题&#xff0c;IOS端没问题&#xff09; 二、原因分析 安卓端&#xff1a;安卓中&#xff0c;如果将footer元素设置为position:fixed或absolute&…

FlashAttention

一、 论文题目&#xff08;发表处-时间&#xff09; FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 二、主要方向 新型注意力机制 三、细化任务 一种具有 IO 感知&#xff0c;且兼具快速、内存高效的新型注意力算法 四、论文动机 一般对…

DQNs【Vanilla DQN Double DQN Dueling DQN】

DQNs 文章目录 DQNs1. DQN及其变种介绍1.1 Vanilla DQN1.2 Double DQN1.3 Dueling DQN 2. Gym环境介绍2.1 Obseravtion Space2.2 Reward Function2.3 Action Space 3. DQNs Code3.1 Vanilla DQN效果3.2 Double DQN效果3.3 Dueling DQN效果 Reference ​ 在 Reinforcement Lear…

14 | 菜品订单分析

本次研究将以菜品订单分析为主题,探讨如何从订单数据中获取有价值的见解。我们将借助数据分析技术,深入研究菜品的销售情况、客户的点餐偏好、订单的时间分布等方面,从而帮助餐厅更好地了解消费者需求,优化经营策略,提升客户体验。通过对菜品订单数据的深入分析,我们可以…

移动电子商务多用户B2B2C商城系统开发

多用户B2B2C商城pc端区块链应用开发的数据运营是为了更好地利用数据&#xff0c;提高商城的运营效率和用户体验。以下是数据运营的六个步骤&#xff1a; 数据采集 数据采集是数据运营的基础。在商城开发过程中&#xff0c;需要采集用户数据、交易数据、商品数据等。这些数据可…

APP备案明明是好事,为啥有些人反对呢?

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; APP和小程序备案&#xff0c; 这事在网上闹的沸沸扬扬&#xff0c;明明是好事&#xff0c;可为啥那么多人反对呢?而且最近出现了好多阴阳怪气的声音。 话说从2005年3月起&#xff0c;国内所有的网…

linux 查询后台任务及杀掉进程

查看后台任务命令 jobs -l删除后台进程命令 kill -9 28719

Linux 发行版 Debian 12.1 发布

导读在今年 6 月初&#xff0c;Debian 12“bookworm”发布&#xff0c;而日前 Debian 迎来了 12.1 版本&#xff0c;主要修复系统用户创建等多个安全问题。 Debian 是最古老的 GNU / Linux 发行版之一&#xff0c;也是许多其他基于 Linux 的操作系统的基础&#xff0c;包括 Ub…

本地oracle登录账号锁定处理,the account is locked

1.打开cmd命令窗口 2.打开sqlplus: sqlplus /nolog(加/nolog是不登录服务器的意思&#xff0c;不加就需要输账号密码) 3.切换到管理员&#xff1a;conn / as sysdba; 第2步第3步可以合并&#xff0c;直接使用sysdba登录&#xff1a;sqlplus / as sysdba; 4.解锁账号&#x…