首页 > 解决方案 > 有人可以用 C++ 解释 { } 容器吗

问题描述

有人可以用 C++ 解释 {}。它与所有容器一起使用。例子。

我通常使用它来使 set 或 vector 之类的容器为空。

我在将 min/max 函数用于多个值时感到困惑。

vector<int> v = {1,2,3,4,5};
int a = min(v) // doesn't work.
int b = min({1,2,3,4,5}) // works and gives accurate answer.

标签: c++stlsetcontainersmin

解决方案


有一个重载std::min需要一个std::initializer_list. 正是这种重载用于

int b = min({1,2,3,4,5});

要获得通用可迭代容器的最小元素,您需要使用std::min_element

int a = std::min_element(begin(v), end(v));

对于最大值,如果适用,请使用std::maxor 。std::max_element


推荐阅读