C型特征

C型特征,第1张

概述我明白他们编码你实例化它们的类型的信息,但它们如何工作?比方说,类型trait std :: is_class.它如何工作?所有的实现看起来都像是空的结构体,我必须承认我正在抓住我的头脑. 这些名字似乎是描述性的,所以我可以理解它们的含义,但是什么是使用类型特征的典型场景呢? 我找不到关于这个问题的介绍性资源(或关于SO的问题).指针将不胜感激. 一些类型特征,如std :: is_class只是 我明白他们编码你实例化它们的类型的信息,但它们如何工作?比方说,类型trait std :: is_class.它如何工作?所有的实现看起来都像是空的结构体,我必须承认我正在抓住我的头脑.

这些名字似乎是描述性的,所以我可以理解它们的含义,但是什么是使用类型特征的典型场景呢?

我找不到关于这个问题的介绍性资源(或关于SO的问题).指针将不胜感激.

解决方法 一些类型特征,如std :: is_class只是使用编译器内在函数(也称内置).没有编译器的特别支持,您无法写入这些内容.

类型特征在通用上下文中大都是有用的 – 您可能希望根据类型的属性来特别处理事物,或对模板参数施加限制.例如,当迭代器是指向POD的指针时,std :: copy的实现可以在内部使用std :: memcpy而不是显式循环.这可以用SFINAE实现.

总结

以上是内存溢出为你收集整理的C型特征全部内容,希望文章能够帮你解决C型特征所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234579.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存