温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++11怎么声明模板类型为形参或友元

发布时间:2021-11-29 13:42:52 来源:亿速云 阅读:153 作者:iii 栏目:大数据

本篇内容介绍了“C++11怎么声明模板类型为形参或友元”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在新标准中,我们可以将模板类型参数声明为友元:

C++11怎么声明模板类型为形参或友元

此处我们将用来实例化Bar的类型声明为友元。因此对于某个类型名Foo,Foo将成为Bar<Boo>的友元。。。。

光看上面的说明,估计好多人还是一头雾水,下面通过一个接近实际开发的例子来进一步说明。

应用举例

需求

我们希望设计一个对象计数器,希望可以满足如下需求:

使用一个计数器类实现对多数互不相关的类型的计数

希望可以自动防止计数器的误用

计数器类

C++11怎么声明模板类型为形参或友元

如果去掉模板的部分,这个类就是一个简单的单例模式。比较特别的地方是:这个类的所有成员都声明为私有的,只能通过被声明为友元的Type类型来使用。

计数器类使用示例

C++11怎么声明模板类型为形参或友元

定义了两个完全不相关的类,分别实例化ObjectCounter类并对对象进行计数。

输出结果

C++11怎么声明模板类型为形参或友元

计数结果正确记录了a1,a2,b三个对象的创建和销毁过程。

“C++11怎么声明模板类型为形参或友元”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI