请检查std::vector
的cplusplus.com。
它说它有一个empty()
成员函数:
empty
Test whether vector is empty (public member function )
http://www.cplusplus.com/reference/vector/vector/empty/
Signature : bool empty() const;
对我来说,空的意思应该是从这个容器中删除所有元素。但是,它是一个测试函数,用于检查容器是否为空。我检查了所有其他容器,并且所有使用方式都是空的。
为什么stl不使用isEmpty()
代替?
为了与C ++标准库的命名约定保持一致,我实际上已经将你所指的成员函数化为is_empty()
而不是isEmpty()
。也就是说,遵循snake case命名约定而不是camel case。我们可以在其他成员函数中看到这个约定,例如push_back()
和pop_back()
。
请注意,有一个名为clear()
的成员函数可以清空容器。也许省略动词并因此需要较少打字的原因是这种名称的分离,用于查询容器是否为空(即empty()
)和清空容器(即clear()
)。
否则,如果改为使用单词“empty”,对于查询和更新,动词可能已经成为查询成员函数名称的一部分,因为两个成员函数都没有参数,因此重载不会没有可能。然后,成员函数可能被称为empty()
和is_empty()
,用于清空容器并分别查询它是否为空。