我经常有一些类,它们大多只是一些 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_type
是size_t
对于我知道的每一个实现。你应该没问题。
关于c++ - 我真的需要返回 Type::size_type 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693665/