【发布时间】:2021-05-26 11:43:06
【问题描述】:
请告诉我在这种情况下哪种方法更好,我想稍后将 std::find 用于向量。 向量将始终包含一个很小的数据集。 谢谢。
int main()
{
// method1
std::vector<int> v1 = {1,2,3,4,5};
bool cond;
if (cond)
{
// find something in v1
}
else
{
v1 = {1,2,3};
// find something in v1 with new values
}
// method2
std::vector<int> v1 = {1,2,3,4,5};
bool cond;
if (cond)
{
// find something in v1
}
else
{
std::vector<int> v2 = {1,2,3};
// find something in v2
}
return 0;
}
【问题讨论】:
-
你初始化向量的方式有什么问题?顺便说一句,我不明白 1 和 2 之间的区别。在 1 中您使用 1 个向量,而在 2 中您使用 2 个向量。需要 1 个还是 2 个向量只有你自己知道。
-
没有错,我只是想知道哪种方法更可取。
-
定义“更好”。你在测量什么?
-
在可读性方面拥有一个新变量是最好的。显然,如果
v1很大,那么您可能负担不起。 -
您要覆盖矢量吗?如果是,则使用方法1,如果不是方法2,则创建一个新向量。