或者,特征是否指的是利用元功能的特定方式?

如果它们不是同义词,请给我指出一些非元功能的特征或非特征元功能的例子。可能会喜欢STL或Boost库中的实际工作代码,而不是人为的玩具示例。

我想看看C ++编程领域的专家如何使用这些术语。我不确定它们是否有权威的定义...

提前致谢!



澄清:不是我在寻找特征或元功能的任何示例。我在日常工作中一直使用数十(如果不是数百)。

c++ - C++:“特征”和“元功能”是同义词吗?-LMLPHPVenn0110”。通过Commons在Public Domain下获得许可。

最佳答案

“ Meta”是用于模板编程的C ++术语。一个清晰的例子是Boost Meta Programming Library(MPL)。

从这个意义上说,元函数是一种函数,其域不是对象,而是C ++构造。因此,公共输入是类型,普通功能和其他模板。

一个简单的元函数例如是template<typename T> using Foo = Bar<T, int>,其输入类型为T,输出类型为Foo<T>。是的,是微不足道的,但是普通函数也可以是微不足道的。

特征是一个元函数,其共域是一个常量表达式,通常为布尔值。例如。 is_foo<T>::value显然是布尔值。在这种意义上,最早的特征是sizeof(T),其共域是size_t

10-07 13:29
查看更多