对c++primer 16.6.1的第4小节的代码说明

这段代码是这样的:

template<typename T>
int compare(const T& t1,const T& t2)
{
cout<<"范型"<<endl;
return 1;
}

int main()
{
  cout<<compare("hello","world")<<endl;
}


template<>

int compare<const char*>(const char* const &t1,const char* const &t2)

{
cout<<"特化"<<endl;
return 2;
}

我们可以把compare对const char*的特化版本放在main之前,然后看到它仍然是去重新实例话一个函数,而不是使用特化的函数,这是因为compare的函数参数是引用类型,而我们调用compare时是这样的,compare("hello","world"),那么当参数是引用时,常量字符串就不会主动转变成const char*指针,如果我们把compare的参数改为非引用类型的,那么compare("hello","world")就会调用特化版本,反之,"hello"和"world"调用范型函数时确定的类型是 const char *(&)[6],和下面的是同理

void print(const char* &p)

{

}

 

void print(const char* p)

{

}

假如上面2个函数都是合理的,当print("aaaa")时会调用哪个函数?从上面我们能得出,应该调用函数形参是非const的,因为这时是传值;如果只有第1个函数而我们print("aaa"),那么就会因为找不到对应的print函数而编译不通过

转载于:https://www.cnblogs.com/buxianghe/archive/2013/04/17/3026680.html

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

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

相关文章

php curl form-data,在php curl multipart / form-data请求中发送一个文件和json数据

我正在尝试在PHP的curl请求中上传文件和json数据 . 请求在命令行中使用curl正常工作 . 这是命令行中的curl请求&#xff1a;curl -v --basic -uusername -F file"documentTest.pdf;typeapplication/octet-stream" -F data{"nomDocument":"test.pdf&qu…

角点检测(Harris角点检测法)

博主联系方式&#xff1a; QQ:1540984562 QQ交流群&#xff1a;892023501 群里会有往届的smarters和电赛选手&#xff0c;群里也会不时分享一些有用的资料&#xff0c;有问题可以在群里多问问。 目录原理讲解【1】为何选取角点作为特征&#xff1f;【2】角点的定义&#xff1a;…

02-图像的几何变换

一、图片缩放 imageInfo&#xff1a;图片宽、高、通道个数等 缩放&#xff1a; 等比例缩放&#xff1a;宽高比不变 任意比例缩放&#xff1a;图片拉伸、非拉伸 窗体大小 实现步骤&#xff1a; 1&#xff0c;完成图像的加载&#xff0c;拿到图像的数据信息 2&#xff0c;图片的宽…

c ++查找字符串_C ++数组| 查找输出程序| 套装5

c 查找字符串Program 1: 程序1&#xff1a; #include <iostream>using namespace std;int main(){char* STR[] { "HELLO", "HIII", "RAM", "SHYAM", "MOHAN" };cout << (*STR 2)[2];return 0;}Output: 输出&…

MSSQL 链接Oracle 表

在Oracle中&#xff0c;要访问远程的另外一台数据库的话&#xff0c;是建立DBlink的方式。 在MSSQL中&#xff0c;则是以建立“link server 链接服务器”来远程访问另外一台数据库。 现在从MSSQL 2005访问Oracle的scott.dept。 首先&#xff0c;安装Oracle的客户端PLSQL DEVELO…

SQL Server 2008 高可用性视频(四)-- 故障转移群集

做数据库的朋友都知道, 其实数据库的工作大致可以分为三类: 数据库设计与开发, 数据库管理, 数据库商业智能. 其中数据库管理的工作大部分是由DBA在做, DBA们除了要保证正常的数据库运行, 还要采取必要措施提升数据库的性能, 比如数据库的性能优化, 以及保证数据库系统的高可用…

php 虚拟空间,什么是php虚拟主机?

什么是php虚拟主机&#xff1f;什么是php虚拟主机Php虚拟主机简单来说就是支持php语言开发的虚拟主机&#xff0c;我们把它称为php虚拟主机。php虚拟主机的工作原理Php是一种html嵌入式的语言&#xff0c;是一种在服务器端执行的嵌入html文档的脚本语言&#xff0c;类似于c语言…

C++---肿瘤面积

【问题描述】 在一个正方形的灰度图片上&#xff0c;肿瘤是一块矩形的区域&#xff0c;肿瘤的边缘所在的像素点在图片 中用 0 表示。其它肿瘤内和肿瘤外的点都用 255 表示。现在要求你编写一个程序&#xff0c;计算肿瘤内部的像素点的个数&#xff08;不包括肿瘤边缘上的点&am…

微机原理——8086中断类型以及中断向量表、中断响应、中断返回

博主联系方式&#xff1a; QQ:1540984562 QQ交流群&#xff1a;892023501 群里会有往届的smarters和电赛选手&#xff0c;群里也会不时分享一些有用的资料&#xff0c;有问题可以在群里多问问。 目录先验知识回顾控制寄存器回顾1、8086中断类型1、外部可屏蔽中断2、外部不可屏蔽…

著名开源项目_著名开源项目案例研究

著名开源项目维基百科 (Wikipedia) Wikipedia is no less than an encyclopedia available free of cost to the public nowadays. If you want to write a passage, know about some famous person or thing you are just one click away from your desired article. 维基百科…

资料整理-工具篇

* 代码利器 Resharper 作为一个C#er&#xff0c;非常感谢有Resharper这样的代码利器。在VS系列的IDE中&#xff0c;使用Resharper后&#xff0c;你会发现&#xff0c;原来写代码也可以是一种享受&#xff01; 1. 首先&#xff0c;下载Resharper。下载地址&#xff1a;http://ww…

企业级php第三方支付平台,ThinkPHP新版企业级php第三方api第四方支付平台程序源码商业版 带接口文件等 某宝售价3000元...

本帖最后由 商业源码网 于 2017-12-21 11:23 编辑7 h$ . , C u0 R3 R y$ z! ] q( D D$ s( Y源码说明&#xff1a;) G: y; R# G0 0 g N. ; \0 w, A9 {5 # P今天黑锐给大家分享给好东西&#xff01;很不错的支付系统&#xff01;喜欢研究支付接口的朋友别错过&#xff01;ThinkP…

C++---两数之和

【问题描述】 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 【输入形…

C++语法:构造函数以及析构函数

目录定义主要特点C的构造函数定义格式示例1&#xff1a;不带参数的构造函数示例2&#xff1a;带参数的构造函数示例3&#xff1a;使用初始化列表来初始化字段类的析构函数定义 构造函数 &#xff0c;是一种特殊的方法。主要用来在创建对象时初始化对象&#xff0c; 即为对象成…

大学各系男生追MM的专业短信

环卫系 天气预报&#xff1a;今天凌晨到白天有时有想你&#xff0c;下午转大到暴想&#xff0c;预计心情将由此降低五度。受延长低气压带影响&#xff0c;预计此类天气将持续到见到你为止。 历史系 据说最早的爱情诗是这样写的&#xff1a;你来自云南元谋&#xff0c;我来自北京…

scala中命名参数函数_Scala中带有命名参数的函数

scala中命名参数函数具有命名参数的函数 (Functions with named arguments ) A function is Scala can take multiple arguments. These arguments are traditionally called in sequence while calling a function. But in Scala programming, the program is given the power…

【IT笔试面试题整理】 二叉树任意两个节点间最大距离

求一个二叉树中任意两个节点间的最大距离&#xff0c;两个节点的距离的定义是这两个节点间边的个数&#xff0c; 比如某个孩子节点和父节点间的距离是1&#xff0c;和相邻兄弟节点间的距离是2&#xff0c;优化时间空间复杂度。 一种是&#xff1a;经过根节点&#xff0c;此时只…

请问染色浴比对染色性能有影响吗?浴比对染色的哪些性能有影响?染色亲和力测定有哪些实际应用意义

2.6 染色热力学参数 染色热、染色熵测定方法 请问染色浴比对染色性能有影响吗&#xff1f;浴比对染色的哪些性能有影响&#xff1f;染色亲和力测定有哪些实际应用意义&#xff1f; 答&#xff1a;浴比&#xff0c;又称液比。指纺织品与染液等的重量比例&#xff0c;即被染物重…

php排序地区,怎么在php项目中实现一个地区分类排序算法

怎么在php项目中实现一个地区分类排序算法发布时间&#xff1a;2020-12-30 16:11:30来源&#xff1a;亿速云阅读&#xff1a;86作者&#xff1a;Leah怎么在php项目中实现一个地区分类排序算法&#xff1f;相信很多没有经验的人对此束手无策&#xff0c;为此本文总结了问题出现的…

OpenCV实战【2】HOG+SVM实现行人检测

目录HOG是什么&#xff1f;HOG vs SIFTHOG步骤HOG在检测行人中的方式Opencv实现HOGDescriptor的构造函数&#xff1a;行人检测HOGSVM步骤简化版的HOG计算HOG是什么&#xff1f; 方向梯度直方图( Histogram of Oriented Gradient, HOG )特征是一种在计算机视觉和图像处理中用来进…