模板类成员函数特化写法

本文探讨了GCC下模板类成员函数的特化与内联处理,强调了未特化模板函数通常在类内inline实现,而特化版本应在外部定义。同时介绍了模板的显式实例化、包含编译模式和分离编译模式,并讨论了模板函数实例化选择最特化版本的原则。文章引用了模板学习笔记并提供了相关示例。
摘要由CSDN通过智能技术生成
昨天有对模板类的函数成员特化需求,目的是为了对不同模板参数实现不同的操作,结果在写过程中碰到already defined的问题(貌似是模板新手最容易碰到的问题了),类外的成员函数和同在类外的特化版本成员函数冲突了。因为对模板用法不是很熟悉,找了半天发现网上一段对话:


gcc下面,判断函数是不是内联,是看函数实现的地方的,类里面的函数,在gcc开启优化的时候,会自动加上inline,如果在类里面实现,那就可能是inline函数,如果在类外实现那就基本不会是inline(除非开O3)

普通函数我是在类里面实现的,特化函数在类外面实现,不加inline编译不过,说重定义了


这里说到一点就是未特化的模板函数是放在类定义里面用inline实现的,然后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值