C型特征

前端之家收集整理的这篇文章主要介绍了C型特征前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我明白他们编码你实例化它们的类型的信息,但它们如何工作?比方说,类型trait std :: is_class.它如何工作?所有的实现看起来都像是空的结构体,我必须承认我正在抓住我的头脑.

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

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

解决方法

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

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

猜你在找的C&C++相关文章