STL containers' difference_type typedef
STL containers' difference_type typedef
我注意到STL容器(包括vector
、list
等)有一个difference_type
typedef,它通常是std::ptrdiff_t
的别名。
它是用来做什么的?它被任何成员函数使用?
它用于计算迭代器之间的差异。例如cont.end() - cont.begin().
stl容器不直接使用它,但迭代器库广泛使用它。示例:
template< class InputIt >
typename std::iterator_traits<InputIt>::difference_type
distance( InputIt first, InputIt last );
相关文章:
- C++:TypeDef使用元组
- 有没有一种方法可以通过"typedef"为重新定义的基本类型定义特征和强制转换运算符
- 使用 [] 运算符时"binding reference of type discards qualifiers"
- 为什么在使用typedef时类推导指南会失败
- 在 QVector<std::unique_ptr 上使用 std::find<Type>>
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 控制到达非空函数clang(-Wreturn-type)的末尾
- 尝试根据类中 typedef 的存在来专门化模板函数
- 如何重新定义MPI_FLOAT,MPI_DOUBLE以 typedef 的方式
- typedef 枚举和枚举类有什么区别?
- "Called Object Type is Not a Function or Pointer" 与 typedef 和类
- Using c++ typedef/using type alias
- 如何构造可以替换typedef vector<vector> Type 的类<T>
- 使用 T::Type typedef 作为默认模板参数
- 错误 : "expected constructor, destructor, or type conversion before 'typedef' "
- 错误:"dependent name is not a type" 。当在类中使用 typedef 类型作为返回值时,带有模板
- 模板类内部的Typedef-type给出编译错误
- 对于类型修改特征,我是否应该为 typename::transform<...>::type 提供一个模板 typedef(又名使用)方便包装器?
- 尝试与 typedef 交朋友时"elaborated type refers to typedef"错误