【发布时间】:2015-08-03 22:07:02
【问题描述】:
我正在尝试编写一个返回向量的实用函数。返回的向量将始终具有相同的条目。我正在使用它来过滤枚举 (Directions),以便客户端可以获得所需的子集。
这是我希望如何解决问题的示例:
std::vector<Directions> horizontalDirections()
{
static std::vector<Directions> toReturn;
if (toReturn.size() == 0)
{
toReturn.push_back(Left);
toReturn.push_back(Right);
}
return toReturn;
}
这是正确的做法吗?
【问题讨论】:
-
在某些情况下,向量可能非常大。这就是为什么我想避免在不需要时将所有内容都推入向量中。
-
您可以通过引用返回
const vector