
全库范围的概念
文章平均质量分 84
可相等比较,可小于比较,可交换,值可交换,可空指针,散列,分配器,函数对象,可调用,谓词,二元谓词,比较
繁星璀璨G
单身,求对象
展开
-
C++ 具名要求-全库范围的概念 - 函数对象 (FunctionObject) ,对于不同输入值产生相同输出具有很低概率-散列(hash)
散列 (Hash) 是函数对象,其输出仅依赖于输入,且当给定不同输入值时,有非常低的概率生成相同输出。原创 2024-01-13 23:50:16 · 423 阅读 · 0 评论 -
C++ 具名要求-全库范围的概念 - 建立一种顺序关系的二元谓词 (BinaryPredicate)
比较 (Compare) 是一些标准库设施针对用户提供的函数对象类型所期待的一组要求。对满足比较 (Compare) 的类型的对象运用函数调用操作的返回值,当按语境转换成 bool 时,若此类型所引入的严格弱序关系中,该调用的第一实参先于第二实参,则生成 true,否则生成 false。与任何二元谓词 (BinaryPredicate) 相同,不允许该表达式的求值通过解引用的迭代器调用非 const 函数。原创 2024-01-12 23:42:21 · 1269 阅读 · 0 评论 -
C++ 具名要求-全库范围的概念 -包含分配信息的类类型(Allocator)
封装访问/寻址,分配/解分配,以及对象的构造/析构的策略。可能需要分配或释放内存的每个标准库组件,从 std::string、std::vector 和 std::array 以外的所有容器,到 std::shared_ptr 和 std::function,都通过 Allocator分配器 进行这些操作:分配器是满足下列要求的类类型对象。原创 2024-01-11 23:32:29 · 1032 阅读 · 0 评论 -
C++ 具名要求-全库范围的概念 -谓词(Predicate)-二元谓词(BinaryPredicate)
谓词 (Predicate) 要求描述了返回可作为 bool 测试的值的可调用 (Callable) 体。二元谓词 (BinaryPredicate) 是一些标准库设施针对用户提供的实参所期待的一组要求。原创 2024-01-10 23:34:13 · 1114 阅读 · 0 评论 -
C++ 具名要求-全库范围的概念 - 能以函数调用语法进行调用的对象(FunctionObject)- 定义了调用操作的类型(Callable)
函数对象 (FunctionObject) 类型是可用在函数调用运算符左侧的对象的类型。可调用 (Callable) 类型是可应用 INVOKE 操作(例如用于 std::function、std::bind 和 std::thread::thread)的类型。此操作可以用库函数 std::invoke 显式进行。 (C++17 起)原创 2024-01-09 23:43:06 · 967 阅读 · 0 评论 -
C++ 具名要求-全库范围的概念 - (Swappable) - (ValueSwappable)
在 std::swap 与用户定义 swap() 均可见的语境中,此类型的任何左值或右值能与某个其他类型的任何左值或右值,可以用非限定函数调用 swap() 来进行交换。此类型的两个对象可以解引用,且在 std::swap 和用户定义 swap() 均可见的语境中,其结果值可以用无限定的函数调用 swap() 进行交换。原创 2024-01-08 23:35:18 · 568 阅读 · 0 评论 -
C++ 具名要求-全库范围的概念 - 一种等价关系(operator==)- 是一种严格弱序关系(operator< )
类型必须能使用 == 运算符且结果应当具有标准语义。类型必须能使用 < 运算符且结果应当具有标准语义。指定该类型是能与 std::nullptr_t 对象进行比较的指针式类型。原创 2024-01-07 21:08:52 · 1136 阅读 · 0 评论