我有一组不同类型的容器,每个容器都与一个字符串 id 相关联。如果关联的容器不为空,则以下函数应打印 id。
如果我想将 std::vector 的大小传递给函数,我应该将它作为 size_type 对象传递吗?像这样:
void printIfNotEmpty(const std::string& id, size_type sizeOfContainer)
{
if(sizeOfContainer)
{
output << id << " is not empty";
}
else
{
output << id << " is empty";
}
}
如果是这样,size_type 在什么命名空间中?如何在我的代码中包含它的定义?
也许这是一个解决方案:
template<class T>
void printIfNotEmpty(const std::string& id, const T& container)
{
if(container.size())
{
output << id << " is not empty";
}
else
{
output << id << " is empty";
}
}