c++ - 我真的需要返回 Type::size_type 吗?

标签 c++ types size-type

我经常有一些类,它们大多只是一些 STL 容器的包装器,如下所示:

class Foo {
public:
  typedef std::vector<whatever> Vec;
  typedef Vec::size_type size_type;
  const Vec& GetVec() { return vec_; }
  size_type size() { return vec_.size() }
private:
  Vec vec_;
};

我不太确定返回 size_type。通常,某些函数会调用 size() 并将该值传递给另一个函数,另一个函数将使用它并可能传递它。现在每个人都必须包含那个 Foo header ,虽然我实际上只是传递一些大小值,无论如何它应该只是 unsigned int ...?在这里做什么是正确的?真正在所有地方都使用 size_type 是最佳做法吗?

最佳答案

应该vector<>::size_type像你一样,这是最正确的方法。

也就是说,我知道很多人,包括我自己,只会使用 size_t反而。虽然没有强制要求相同,vector<>::size_typesize_t对于我知道的每一个实现。你应该没问题。

关于c++ - 我真的需要返回 Type::size_type 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693665/

相关文章:

c++ - 将值范围映射到彩虹色图

c++ - 部分类模板特化,C++

c++ - 模板模板函数的重载 - 显式调用

c++ - opencv中使用viz的立体相机点云

types - 为 typed/racket 中的向量定义 "minus function"

scala - 在 Scala 中,是否可以对类型进行别名但不允许交叉使用像 Haskell 这样的别名/非别名类型?

c++ - 在编译时选择 size_t 和 container::size_type

python - 在 PySpark 中将多列转换为字符串的有效方法

c++ - std::size_t 与 size_type 作为参数和函数返回类型

c++ - 为什么 static_cast 减法会溢出?