C++编程语言中的模板应用是一个非常重要的应用技术,我们曾经通过多篇文章对此进行过详细的介绍。那么今天我们就先来了解一下有关C++函数模板非类型参数的一些基本概念,方便大家理解。
成都创新互联主营泰州网站建设的网络公司,主营网站建设方案,成都APP应用开发,泰州h5微信小程序开发搭建,泰州网站营销推广欢迎泰州等地区企业咨询
C++函数模板非类型参数主要用来为函数提供一个运算常量。关于非类型的函数模板参数,书中有下面的例子:
- //函数模板定义
- template
- T addValue(T const& x)
- {
- return x + VAL;
- }
- //其他代码
- //函数模板的使用
- std::transform(source.begin(), source.end(), dest.begin(),
- (int(*) (int const&))addValue
);
上面的代码中定义了一个函数模板,目的是对传入的参数加上一个指定的int型的5。这样的函数被普遍的使用在对一组数据进行同一处理的场合。例如,12行。这里需要注意的是:一std::transform函数本身就是一个模板函数,它的***一个参数可以传递一个函数指针。#t#
因此,(int(*) (int const&))addValue
C++函数模板非类型参数的限制。
关于非类型模板参数的限制目前记住它可以是常整型(包括枚举类型)和指向外部连接对象的指针就可以可了。由于历史原因,浮点型不能作为非类型模板的参数;而指针和字符串作为非类型模板的参数是有条件的。我想这与变量的作用范围和生命周期有关吧。书中后面会有比较相信的介绍,就等到时候再细看了。
网站栏目:C++函数模板非类型参数应用注意事项总结
网页URL:http://www.shufengxianlan.com/qtweb/news24/108874.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联