Иногда мне нужна функция или шаблон, который возвращает ноль, как в примере ниже (искусственно, конечно, ради простоты).
Я могу писать везде []( ) {возврат 0.0f; , но, учитывая, что у нас есть множество предопределенных объектов функций для подобных часто используемых вещей, таких как std::numeric_limits::infinity и т. д., разве у нас нет чего-то вроде std: :zero, который рекомендуется использовать в таких случаях?
(Я не прошу это представлять, я просто хочу дважды проверить, что я не использую не пропустите, рекомендуется использовать вещь, которая может создавать код лучше).
#include
void add(std::vector& v, std::size_t sz, auto gen) {
for (std::size_t i = 0; i < sz; ++i)
{
v.emplace_back(gen());
}
}
void main()
{
std::vector v;
add(v, 5, []() { return 0.0f; });
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... turns-zero