tow*_*owi 24 c++ traits type-traits c++11
C++中的特征封装了一系列操作,这些操作允许算法或数据结构使用与其实例化的类型的操作符.char_traits是分组string和文件所需功能的示例.
但并非所有特质都在他们的名字中有"特质",对吧?numeric_limits浮现在脑海中.这也是"特质"吗?即使没有名称"特质"吗?
那么,是否有其他模板可以/应该被视为"特征"?除了我发现的例子:
allocator_traits 如何获得记忆pointer_traits 如何间接访问对象type_traits 元编程char_taits 符号序列iterator_traits 如何前进,后退和元素regex_traits 为...正则表达式.我想,我要问的是,是否有一个纯粹的特征定义?
我特别不确定的一些事情是:
numeric_limits 上文提到的<chrono>定制"特征",[20.11.4],即 duration_valueshash<>算子可以被认为是一种特质吗?更新:究竟是什么让特质成为特质似乎在细节上有点争议.也许可以回答另一个问题:是否有一个全面的列表,哪些类似特征的类对C++ 0x来说是新的,哪些已经在C++ 03中?也许有人知道某个地方的链接?
How*_*ant 10
这是一个尝试的特征列表除以标准.我很容易忽略一些.
新的C++ 11特征:
is_error_code_enum
is_error_condition_enum
pointer_traits
allocator_traits
Just about everything in <type_traits>
treat_as_floating_point
duration_values
uses_allocator
regex_traits
Run Code Online (Sandbox Code Playgroud)
C++ 98/03特征:
numeric_limits
char_traits
iterator_traits
Run Code Online (Sandbox Code Playgroud)